@blueprint-chart/lib 2.17.0 → 2.17.1

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.
@@ -1,4 +1,13 @@
1
- var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule||!o.call(e,`default`)?n(i,`default`,{value:e,enumerable:!0}):i,e));function u(){return typeof window>`u`||typeof window.matchMedia!=`function`?null:window.matchMedia(`(prefers-color-scheme: dark)`)}var d=`
1
+ var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule||!o.call(e,`default`)?n(i,`default`,{value:e,enumerable:!0}):i,e));function u(){return typeof window>`u`||typeof window.matchMedia!=`function`?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function d(e){let t=0;for(let n of e)n.type===`data`&&t++;return t}function f(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],scenes:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`scene`:t.scenes.push(n);break;case`transform`:t.transforms.push(n)}return t}function p(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`transform`:t.transforms.push(n)}return t}var m=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\r\n|\n|\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`
2
+ --> `+o+`
3
+ `+r+` |
4
+ `+a.line+` | `+s+`
5
+ `+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`
6
+ 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 h(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`,h=`annotation`,g=`range`,_=`note`,v=`series`,y=`scene`,b=`transform`,x=/^[ \t]/,S=/^[^\t\n\r{}=]/,C=/^[a-zA-Z_#]/,w=/^[a-zA-Z0-9_#\-]/,T=/^[0-9]/,E=/^[eE]/,D=/^[+\-]/,O=/^[^"\\]/,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([` `,`
7
+ `,`\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),W=Ot(`transform`,!1),ae=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),fe=kt([`e`,`E`],!1,!1,!1),pe=kt([`+`,`-`],!1,!1,!1),me=Mt(`string`),G=Ot(`"`,!1),K=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([`
8
+ `],!0,!1,!1),we=Ot(`/*`,!1),Te=Ot(`*/`,!1),Ee=kt([` `,` `,`
9
+ `,`\r`],!1,!1,!1),q=Mt(`whitespace`);function De(e,t,n){d(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=f(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){d(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=p(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`
10
+ `}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 m(e,null,null,t)}function It(e,t,n){return new m(m.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),x.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),x.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),x.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),x.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),S.test(a)?J++:(a=n,Y===0&&X(B)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(J),S.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)===h?(r=h,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)===h?(r=h,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)===g?(r=g,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)===_?(r=_,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)===v?(r=v,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)===v?(r=v,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)===y?(r=y,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)===b?(r=b,J+=9):(r=n,Y===0&&X(W)),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),x.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),x.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),x.test(a)?J++:(a=n,Y===0&&X(F));a!==n;)i.push(a),a=e.charAt(J),x.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(ae)),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),C.test(i)?J++:(i=n,Y===0&&X(se)),i!==n){for(a=[],o=e.charAt(J),w.test(o)?J++:(o=n,Y===0&&X(ce));o!==n;)a.push(o),o=e.charAt(J),w.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),T.test(l)?J++:(l=n,Y===0&&X(de)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(J),T.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),T.test(c)?J++:(c=n,Y===0&&X(de)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(J),T.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),T.test(d)?J++:(d=n,Y===0&&X(de));d!==n;)u.push(d),d=e.charAt(J),T.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),E.test(c)?J++:(c=n,Y===0&&X(fe)),c!==n){if(l=e.charAt(J),D.test(l)?J++:(l=n,Y===0&&X(pe)),l===n&&(l=null),u=[],d=e.charAt(J),T.test(d)?J++:(d=n,Y===0&&X(de)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(J),T.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(G)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(J)===34?(a=`"`,J++):(a=n,Y===0&&X(G)),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(me)),t}function ln(){let t,r,i;return t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(K)),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),O.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(G)),r!==n&&(xt=t,r=ut()),t=r,t===n&&(t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(K)),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(we)),r!==n){for(i=[],a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(Te)),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(Te)),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(Te)),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(Ee));r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Ee));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(we)),r!==n){for(i=J,a=[],o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(Te)),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(Te)),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(Te)),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(Ee)),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(Ee)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(q)),t}function vn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Ee)),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 g(e){try{return h(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}}var _=`
2
11
  /* Blueprint Chart — Runtime Embed Styles
3
12
  CSS custom properties with baked-in defaults for standalone iframe usage. */
4
13
 
@@ -300,24 +309,15 @@ body {
300
309
 
301
310
  color: rgba(255, 255, 255, 0.9);
302
311
  }
303
- `,f=`blueprint-chart-resize`,p=`blueprint-chart-error`;function m(e){return typeof e==`object`&&e&&e.type===`blueprint-chart-resize`&&typeof e.height==`number`?e.height:null}function h(e){return typeof e==`object`&&!!e&&e.type===`blueprint-chart-error`}var g=_();function _(){try{if(typeof globalThis<`u`){let e=globalThis.BLUEPRINT_CHART_RUNTIME_URL;if(typeof e==`string`&&e)return e}return typeof document>`u`?``:document.currentScript?.src??``}catch{return``}}var v=new Map,y=null,b=[];function x(){y||(y=e=>{for(let[t,n]of v)if(e.source===t.contentWindow){n(e);return}},window.addEventListener(`message`,y))}function S(){x(),document.querySelectorAll(`script[type="application/blueprint-chart"]`).forEach(C)}function C(e){let t=e.textContent?.trim();if(!t)return;let n=document.createElement(`iframe`);n.className=`blueprint-chart-iframe`,n.style.cssText=`border: none; width: 100%; display: block;`,n.setAttribute(`sandbox`,`allow-scripts`),n.setAttribute(`title`,`Blueprint Chart`),e.parentNode?.insertBefore(n,e);let r=e.closest(`[data-bs-theme]`)?.getAttribute(`data-bs-theme`);if(r===`light`||r===`dark`)n.srcdoc=w(t,g,r);else{let e=u(),r=()=>{n.srcdoc=w(t,g,e?.matches?`dark`:`light`)};r(),e&&(e.addEventListener(`change`,r),b.push(()=>e.removeEventListener(`change`,r)))}v.set(n,e=>{let t=m(e.data);if(t!==null){n.style.height=`${t}px`;return}h(e.data)&&console.warn(`Blueprint Chart: could not render embed.`,e.data.message)})}function w(e,t,n){let r=t?`<script src="${E(t)}"><\/script>`:``,i=n===`dark`?`<html data-bs-theme="dark">`:`<html>`,a=t?[`try {`,` window.BlueprintChart.renderBpc(document.getElementById("chart"), __BPC_SRC__);`,`}`,`catch (e) {`,` parent.postMessage({ type: "${p}", message: String(e) }, "*");`,`}`]:[`parent.postMessage({ type: "${p}", message: "Blueprint Chart runtime URL unavailable" }, "*");`];return[`<!DOCTYPE html>`,`${i}<head>`,`<style>${d}</style>`,`</head><body>`,`<div id="chart" class="blueprint-chart-container"></div>`,r,`<script>`,`var __BPC_SRC__ = ${T(e)};`,`function notifySize() {`,` var h = document.documentElement.scrollHeight;`,` parent.postMessage({ type: "${f}", height: h }, "*");`,`}`,...a,`notifySize();`,`new ResizeObserver(notifySize).observe(document.body);`,`<\/script>`,`</body></html>`].filter(Boolean).join(`
304
- `)}function T(e){return JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function E(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function D(e){let t=0;for(let n of e)n.type===`data`&&t++;return t}function O(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],scenes:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`scene`:t.scenes.push(n);break;case`transform`:t.transforms.push(n)}return t}function k(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`transform`:t.transforms.push(n)}return t}var A=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\r\n|\n|\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`
305
- --> `+o+`
306
- `+r+` |
307
- `+a.line+` | `+s+`
308
- `+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`
309
- 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 j(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=/^[^"\\]/,T=/^[0-9a-fA-F]/,E=/^[^\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([` `,`
310
- `,`\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),fe=kt([`e`,`E`],!1,!1,!1),pe=kt([`+`,`-`],!1,!1,!1),G=Mt(`string`),K=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([`
311
- `],!0,!1,!1),we=Ot(`/*`,!1),Te=Ot(`*/`,!1),q=kt([` `,` `,`
312
- `,`\r`],!1,!1,!1),Ee=Mt(`whitespace`);function De(e,t,n){D(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=O(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){D(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=k(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`
313
- `}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 A(e,null,null,t)}function It(e,t,n){return new A(A.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(fe)),c!==n){if(l=e.charAt(J),C.test(l)?J++:(l=n,Y===0&&X(pe)),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(K)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(J)===34?(a=`"`,J++):(a=n,Y===0&&X(K)),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(G)),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(K)),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),T.test(o)?J++:(o=n,Y===0&&X(be)),o===n?(J=a,a=n):(s=e.charAt(J),T.test(s)?J++:(s=n,Y===0&&X(be)),s===n?(J=a,a=n):(c=e.charAt(J),T.test(c)?J++:(c=n,Y===0&&X(be)),c===n?(J=a,a=n):(l=e.charAt(J),T.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),E.test(a)?J++:(a=n,Y===0&&X(Ce));a!==n;)i.push(a),a=e.charAt(J),E.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(we)),r!==n){for(i=[],a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(Te)),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(Te)),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(Te)),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(q));r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q));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),E.test(o)?J++:(o=n,Y===0&&X(Ce));o!==n;)a.push(o),o=e.charAt(J),E.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(we)),r!==n){for(i=J,a=[],o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(Te)),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(Te)),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(Te)),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(q)),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(q)),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(q)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q)),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 M(e){try{return j(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 N(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function P(e){return N(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function F(e){let t=P(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var I={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},L={"\\":`\\`,'"':`"`,n:`
314
- `,r:`\r`,t:` `};function R(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>I[e])}"`}function z(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):L[t])}function B(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?z(t.slice(1,-1)):t}function V(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 H=`"((?:[^"\\\\]|\\\\.)*)"`,ee=RegExp(`^${H}\\s*=\\s*(.+)$`),U=RegExp(`^${H}\\s*=\\s*"([^"]*)"$`),te=RegExp(`^${H}\\s*=\\s*(.+)$`);function ne(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 re(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>B(e)!==``);return i.length>0&&i.every(e=>F(e)===void 0)?[{name:e,values:r.map(e=>B(e)||void 0)}]:[]})}function ie(e){let t=e.split(`
315
- `).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=V(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(U),i=n??t[e].match(ee);i&&r.push({cells:V(i[2]),label:z(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(B):B(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(F(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=re(a,r);return{labels:ne(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(te);t&&(n.push(z(t[1])),r.push(F(t[2])))}return{labels:ne(n),values:r}}var ae=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],W=[{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`]}],oe=Object.fromEntries(W.map(e=>[e.name,e.colors]));function se(e){if(!e)return;let t=oe[e];return t?[...t]:void 0}function ce(){return W}var{min:le,max:ue}=Math,de=(e,t=0,n=1)=>le(ue(t,e),n),fe=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]=de(e[t],0,255)):t===3&&(e[t]=de(e[t],0,1));return e},pe={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])pe[`[object ${e}]`]=e.toLowerCase();function G(e){return pe[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),me=e=>{if(e.length<2)return null;let t=e.length-1;return G(e[t])==`string`?e[t].toLowerCase():null},{PI:he,min:ge,max:_e}=Math,ve=e=>Math.round(e*100)/100,ye=e=>Math.round(e*100)/100,be=he*2,xe=he/3,Se=he/180,Ce=180/he;function we(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Te={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=me(e),r=!1;if(!n){r=!0,Te.sorted||=(Te.autodetect=Te.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Te.autodetect)if(n=t.test(...e),n)break}if(Te.format[n])t._rgb=fe(Te.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(`,`)}]`}},Ee=`3.2.0`,De=(...e)=>new q(...e);De.version=Ee;var Oe={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`},ke=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Ae=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,je=e=>{if(e.match(ke)){(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(Ae)){(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:Me}=Math,Ne=(...e)=>{let[t,n,r,i]=K(e,`rgba`),a=me(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=Me(t),n=Me(n),r=Me(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+Me(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=Ne(this._rgb,`rgb`);for(let t of Object.keys(Oe))if(Oe[t]===e)return t.toLowerCase();return e},Te.format.named=e=>{if(e=e.toLowerCase(),Oe[e])return je(Oe[e]);throw Error(`unknown color name: `+e)},Te.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&Oe[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 Pe={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}},Fe=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 Ie(e){let t=Fe.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);Pe.labWhitePoint=e,Pe.Xn=t[0],Pe.Zn=t[1]}function Le(){return Pe.labWhitePoint}var Re=(...e)=>{e=K(e,`lab`);let[t,n,r]=e,[i,a,o]=ze(t,n,r),[s,c,l]=Ve(i,a,o);return[s,c,l,e.length>3?e[3]:1]},ze=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=Pe,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]},Be=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},Ve=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=Pe,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=Be(y*a.m00+b*a.m10+x*a.m20),C=Be(y*a.m01+b*a.m11+x*a.m21),w=Be(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},He=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Ge(t,n,r),[c,l,u]=Ue(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ue(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=Pe,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 We(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var Ge=(e,t,n)=>{e=We(e/255),t=We(t/255),n=We(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=Pe,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 He(this._rgb)},Object.assign(De,{lab:(...e)=>new q(...e,`lab`),getLabWhitePoint:Le,setLabWhitePoint:Ie}),Te.format.lab=Re,Te.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]-=Pe.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:Ke}=Math,qe=1e-7,Je=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=Je,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<qe||!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 Ye(...this._rgb.slice(0,3))};var Ye=(e,t,n)=>(e=Xe(e),t=Xe(t),n=Xe(n),.2126*e+.7152*t+.0722*n),Xe=e=>(e/=255,e<=.03928?e/12.92:Ke((e+.055)/1.055,2.4)),Ze={},Qe=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Ze[i]&&!r.length&&(i=Object.keys(Ze)[0]),!Ze[i])throw Error(`interpolation mode ${i} is not defined`);return G(e)!==`object`&&(e=new q(e)),G(t)!==`object`&&(t=new q(t)),Ze[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};q.prototype.mix=q.prototype.interpolate=function(e,t=.5,...n){return Qe(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:$e,cos:et}=Math,tt=(...e)=>{let[t,n,r]=K(e,`lch`);return isNaN(r)&&(r=0),r*=Se,[t,et(r)*n,$e(r)*n]},nt=(...e)=>{e=K(e,`lch`);let[t,n,r]=e,[i,a,o]=tt(t,n,r),[s,c,l]=Re(i,a,o);return[s,c,l,e.length>3?e[3]:1]},rt=(...e)=>nt(...we(K(e,`hcl`))),{sqrt:it,atan2:at,round:ot}=Math,st=(...e)=>{let[t,n,r]=K(e,`lab`),i=it(n*n+r*r),a=(at(r,n)*Ce+360)%360;return ot(i*1e4)===0&&(a=NaN),[t,i,a]},ct=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=He(t,n,r),[c,l,u]=st(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};q.prototype.lch=function(){return ct(this._rgb)},q.prototype.hcl=function(){return we(ct(this._rgb))},Object.assign(De,{lch:(...e)=>new q(...e,`lch`),hcl:(...e)=>new q(...e,`hcl`)}),Te.format.lch=nt,Te.format.hcl=rt,[`lch`,`hcl`].forEach(e=>Te.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]+=Pe.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 Qe(this,`white`,e,...t)},q.prototype.shade=function(e=.5,...t){return Qe(this,`black`,e,...t)},Ze.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:lt,pow:ut}=Math;Ze.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new q(lt(ut(r,2)*(1-n)+ut(o,2)*n),lt(ut(i,2)*(1-n)+ut(s,2)*n),lt(ut(a,2)*(1-n)+ut(c,2)*n),`rgb`)},Ze.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 dt=(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)},ft=(e,t,n)=>dt(e,t,n,`lch`);Ze.lch=ft,Ze.hcl=ft;var pt=e=>{if(G(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},mt=(...e)=>{let[t,n,r]=K(e,`rgb`);return(t<<16)+(n<<8)+r};q.prototype.num=function(){return mt(this._rgb)},Object.assign(De,{num:(...e)=>new q(...e,`num`)}),Te.format.num=pt,Te.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&G(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Ze.num=(e,t,n)=>{let r=e.num();return new q(r+n*(t.num()-r),`num`)};var{floor:ht}=Math,gt=(...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=ht(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]},_t=(...e)=>{let[t,n,r]=K(e,`rgb`),i=ge(t,n,r),a=_e(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 _t(this._rgb)},De.hcg=(...e)=>new q(...e,`hcg`),Te.format.hcg=gt,Te.autodetect.push({p:1,test:(...e)=>{if(e=K(e,`hcg`),G(e)===`array`&&e.length===3)return`hcg`}}),Ze.hcg=(e,t,n)=>dt(e,t,n,`hcg`);var{cos:vt}=Math,yt=(...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*vt(be*t)/vt(xe-be*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*vt(be*t)/vt(xe-be*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*vt(be*t)/vt(xe-be*t))/3,i=1-(a+o)),i=de(r*i*3),a=de(r*a*3),o=de(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:bt,sqrt:J,acos:xt}=Math,St=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i,a=bt(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/=J((t-n)*(t-n)+(t-r)*(n-r)),i=xt(i),r>n&&(i=be-i),i/=be),[i*360,s,o]};q.prototype.hsi=function(){return St(this._rgb)},De.hsi=(...e)=>new q(...e,`hsi`),Te.format.hsi=yt,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsi`),G(e)===`array`&&e.length===3)return`hsi`}}),Ze.hsi=(e,t,n)=>dt(e,t,n,`hsi`);var Ct=(...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]},wt=(...e)=>{e=K(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=ge(t,n,r),a=_e(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 wt(this._rgb)},De.hsl=(...e)=>new q(...e,`hsl`),Te.format.hsl=Ct,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsl`),G(e)===`array`&&e.length===3)return`hsl`}}),Ze.hsl=(e,t,n)=>dt(e,t,n,`hsl`);var{floor:Y}=Math,Tt=(...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=Y(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:Et,max:Dt}=Math,Ot=(...e)=>{e=K(e,`rgb`);let[t,n,r]=e,i=Et(t,n,r),a=Dt(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 Ot(this._rgb)},De.hsv=(...e)=>new q(...e,`hsv`),Te.format.hsv=Tt,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsv`),G(e)===`array`&&e.length===3)return`hsv`}}),Ze.hsv=(e,t,n)=>dt(e,t,n,`hsv`);function kt(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 At=(...e)=>{e=K(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=jt([t,n,r]),[c,l,u]=Ve(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function jt(e){return kt([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],kt([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var Mt=(...e)=>{let[t,n,r,...i]=K(e,`rgb`);return[...Nt(Ge(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function Nt(e){return kt([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],kt([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}q.prototype.oklab=function(){return Mt(this._rgb)},Object.assign(De,{oklab:(...e)=>new q(...e,`oklab`)}),Te.format.oklab=At,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklab`),G(e)===`array`&&e.length===3)return`oklab`}}),Ze.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`)},Ze.oklch=(e,t,n)=>dt(e,t,n,`oklch`);var{pow:Pt,sqrt:X,PI:Ft,cos:It,sin:Lt,atan2:Rt}=Math,zt=(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 Bt(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*Ft;c+=It(t)*n[0],l+=Lt(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*Ft;c+=It(t)*n[r+1],l+=Lt(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=Rt(l/s[e],c/s[e])/Ft*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)},Bt=(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]+=Pt(s[0],2)*o,r[1]+=Pt(s[1],2)*o,r[2]+=Pt(s[2],2)*o,r[3]+=s[3]*o}return r[0]=X(r[0]),r[1]=X(r[1]),r[2]=X(r[2]),r[3]>.9999999&&(r[3]=1),new q(fe(r))},{pow:Vt}=Math;function Ht(e){let t=`rgb`,n=De(`#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`&&De.brewer&&De.brewer[e.toLowerCase()]&&(e=De.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]=De(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=Vt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=de(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=De.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=De(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=De.analyze(i);c=e===0?[t.min,t.max]:De.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=Ut(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 De[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=De(e),C)},C}function Ut(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 Wt=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},Gt=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=Wt(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},Kt=e=>{let t=Gt(e);return t.scale=()=>Ht(t),t},{round:qt}=Math;q.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(qt)},q.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:qt(t):t)},Object.assign(De,{rgb:(...e)=>new q(...e,`rgb`)}),Te.format.rgb=(...e)=>{let t=K(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Te.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 Jt=(e,t,n)=>{if(!Jt[n])throw Error(`unknown blend mode `+n);return Jt[n](e,t)},Yt=e=>(t,n)=>{let r=De(n).rgb(),i=De(t).rgb();return De.rgb(e(r,i))},Xt=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};Jt.normal=Yt(Xt(e=>e)),Jt.multiply=Yt(Xt((e,t)=>e*t/255)),Jt.screen=Yt(Xt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Jt.overlay=Yt(Xt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Jt.darken=Yt(Xt((e,t)=>e>t?t:e)),Jt.lighten=Yt(Xt((e,t)=>e>t?e:t)),Jt.dodge=Yt(Xt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Jt.burn=Yt(Xt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Zt,sin:Qt,cos:$t}=Math;function en(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=be*((e+120)/360+t*s),l=Zt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=$t(c),f=Qt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return De(fe([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=()=>De.scale(s),s.hue(n),s}var tn=`0123456789abcdef`,{floor:nn,random:rn}=Math,an=(e=rn)=>{let t=`#`;for(let n=0;n<6;n++)t+=tn.charAt(nn(e()*16));return new q(t,`hex`)},{log:on,pow:sn,floor:cn,abs:ln}=Math;function un(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)=>dn(n,e,t),n}function dn(e,t=`equal`,n=7){G(e)==`array`&&(e=un(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*on(r),t=Math.LOG10E*on(i);o.push(r);for(let r=1;r<n;r++)o.push(sn(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=cn(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=ln(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 fn=(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)},pn=.027,mn=5e-4,hn=.1,gn=1.14,_n=.022,vn=1.414,yn=(e,t)=>{e=new q(e),t=new q(t),e.alpha()<1&&(e=Qe(t,e,e.alpha(),`rgb`));let n=bn(...e.rgb()),r=bn(...t.rgb()),i=n>=_n?n:n+(_n-n)**+vn,a=r>=_n?r:r+(_n-r)**+vn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<mn?0:i<a?o*gn:s*gn;return(Math.abs(c)<hn?0:c>0?c-pn:c+pn)*100};function bn(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:xn,pow:Sn,min:Cn,max:wn,atan2:Tn,abs:En,cos:Dn,sin:On,exp:kn,PI:An}=Math;function jn(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*An)},o=function(e){return 2*An*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=(xn(Sn(c,2)+Sn(l,2))+xn(Sn(d,2)+Sn(f,2)))/2,h=.5*(1-xn(Sn(m,7)/(Sn(m,7)+Sn(25,7)))),g=c*(1+h),_=d*(1+h),v=xn(Sn(g,2)+Sn(l,2)),y=xn(Sn(_,2)+Sn(f,2)),b=(v+y)/2,x=a(Tn(l,g)),S=a(Tn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=En(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*Dn(o(T-30))+.24*Dn(o(2*T))+.32*Dn(o(3*T+6))-.2*Dn(o(4*T-63)),D=w-C;D=En(D)<=180?D:w<=C?D+360:D-360,D=2*xn(v*y)*On(o(D)/2);let O=u-s,k=y-v,A=1+.015*Sn(p-50,2)/xn(20+Sn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*kn(-Sn((T-275)/25,2)),P=-(2*xn(Sn(b,7)/(Sn(b,7)+Sn(25,7))))*On(2*o(N));return wn(0,Cn(100,xn(Sn(O/(n*A),2)+Sn(k/(r*j),2)+Sn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function Mn(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 Nn=(...e)=>{try{return new q(...e),!0}catch{return!1}},Pn={cool(){return Ht([De.hsl(180,1,.9),De.hsl(250,.7,.4)])},hot(){return Ht([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},Fn={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`]},In=Object.keys(Fn),Ln=new Map(In.map(e=>[e.toLowerCase(),e])),Rn=typeof Proxy==`function`?new Proxy(Fn,{get(e,t){let n=t.toLowerCase();if(Ln.has(n))return e[Ln.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(In)}}):Fn,zn=(...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:Bn}=Math,Vn=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Bn(t,Bn(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 Vn(this._rgb)},Object.assign(De,{cmyk:(...e)=>new q(...e,`cmyk`)}),Te.format.cmyk=zn,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`cmyk`),G(e)===`array`&&e.length===4)return`cmyk`}});var Hn=(...e)=>{let t=K(e,`hsla`),n=me(e)||`lsa`;return t[0]=ve(t[0]||0)+`deg`,t[1]=ve(t[1]*100)+`%`,t[2]=ve(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(` `)})`},Un=(...e)=>{let t=K(e,`lab`),n=me(e)||`lab`;return t[0]=ve(t[0])+`%`,t[1]=ve(t[1]),t[2]=ve(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Wn=(...e)=>{let t=K(e,`lch`),n=me(e)||`lab`;return t[0]=ve(t[0])+`%`,t[1]=ve(t[1]),t[2]=isNaN(t[2])?`none`:ve(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(` `)})`},Gn=(...e)=>{let t=K(e,`lab`);return t[0]=ve(t[0]*100)+`%`,t[1]=ye(t[1]),t[2]=ye(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Kn=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Mt(t,n,r),[c,l,u]=st(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},qn=(...e)=>{let t=K(e,`lch`);return t[0]=ve(t[0]*100)+`%`,t[1]=ye(t[1]),t[2]=isNaN(t[2])?`none`:ve(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Jn}=Math,Yn=(...e)=>{let t=K(e,`rgba`),n=me(e)||`rgb`;if(n.substr(0,3)===`hsl`)return Hn(wt(t),n);if(n.substr(0,3)===`lab`){let e=Le();Ie(`d50`);let r=Un(He(t),n);return Ie(e),r}if(n.substr(0,3)===`lch`){let e=Le();Ie(`d50`);let r=Wn(ct(t),n);return Ie(e),r}return n.substr(0,5)===`oklab`?Gn(Mt(t)):n.substr(0,5)===`oklch`?qn(Kn(t)):(t[0]=Jn(t[0]),t[1]=Jn(t[1]),t[2]=Jn(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(` `)})`)},Xn=(...e)=>{e=K(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=tt(t,n,r),[c,l,u]=At(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Zn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,Qn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,$n=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,er=`\\s*`,tr=`\\s+`,nr=`\\s*,\\s*`,rr=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,ir=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,ar=RegExp(`^rgba?\\(`+er+[Zn,Zn,Zn].join(tr)+ir+`\\)$`),or=RegExp(`^rgb\\(`+er+[Zn,Zn,Zn].join(nr)+er+`\\)$`),sr=RegExp(`^rgba\\(`+er+[Zn,Zn,Zn,Qn].join(nr)+er+`\\)$`),cr=RegExp(`^hsla?\\(`+er+[rr,$n,$n].join(tr)+ir+`\\)$`),lr=RegExp(`^hsl?\\(`+er+[rr,$n,$n].join(nr)+er+`\\)$`),ur=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,dr=RegExp(`^lab\\(`+er+[Qn,Qn,Qn].join(tr)+ir+`\\)$`),fr=RegExp(`^lch\\(`+er+[Qn,Qn,rr].join(tr)+ir+`\\)$`),pr=RegExp(`^oklab\\(`+er+[Qn,Qn,Qn].join(tr)+ir+`\\)$`),mr=RegExp(`^oklch\\(`+er+[Qn,Qn,rr].join(tr)+ir+`\\)$`),{round:hr}=Math,gr=e=>e.map((e,t)=>t<=2?de(hr(e),0,255):e),_r=(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),vr=(e,t)=>e===`none`?t:e,yr=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Te.format.named)try{return Te.format.named(e)}catch{}if((t=e.match(ar))||(t=e.match(or))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+_r(vr(e[t],0),0,255);e=gr(e);let n=t[4]===void 0?1:+_r(t[4],0,1);return e[3]=n,e}if(t=e.match(sr)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+_r(e[t],0,255);return e}if((t=e.match(cr))||(t=e.match(lr))){let e=t.slice(1,4);e[0]=+vr(e[0].replace(`deg`,``),0),e[1]=_r(vr(e[1],0),0,100)*.01,e[2]=_r(vr(e[2],0),0,100)*.01;let n=gr(Ct(e));return n[3]=t[4]===void 0?1:+_r(t[4],0,1),n}if(t=e.match(ur)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=Ct(e);for(let e=0;e<3;e++)n[e]=hr(n[e]);return n[3]=+t[4],n}if(t=e.match(dr)){let e=t.slice(1,4);e[0]=_r(vr(e[0],0),0,100),e[1]=_r(vr(e[1],0),-125,125,!0),e[2]=_r(vr(e[2],0),-125,125,!0);let n=Le();Ie(`d50`);let r=gr(Re(e));return Ie(n),r[3]=t[4]===void 0?1:+_r(t[4],0,1),r}if(t=e.match(fr)){let e=t.slice(1,4);e[0]=_r(e[0],0,100),e[1]=_r(vr(e[1],0),0,150,!1),e[2]=+vr(e[2].replace(`deg`,``),0);let n=Le();Ie(`d50`);let r=gr(nt(e));return Ie(n),r[3]=t[4]===void 0?1:+_r(t[4],0,1),r}if(t=e.match(pr)){let e=t.slice(1,4);e[0]=_r(vr(e[0],0),0,1),e[1]=_r(vr(e[1],0),-.4,.4,!0),e[2]=_r(vr(e[2],0),-.4,.4,!0);let n=gr(At(e));return n[3]=t[4]===void 0?1:+_r(t[4],0,1),n}if(t=e.match(mr)){let e=t.slice(1,4);e[0]=_r(vr(e[0],0),0,1),e[1]=_r(vr(e[1],0),0,.4,!1),e[2]=+vr(e[2].replace(`deg`,``),0);let n=gr(Xn(e));return n[3]=t[4]===void 0?1:+_r(t[4],0,1),n}};yr.test=e=>ar.test(e)||cr.test(e)||dr.test(e)||fr.test(e)||pr.test(e)||mr.test(e)||or.test(e)||sr.test(e)||lr.test(e)||ur.test(e)||e===`transparent`,q.prototype.css=function(e){return Yn(this._rgb,e)},De.css=(...e)=>new q(...e,`css`),Te.format.css=yr,Te.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&yr.test(e))return`css`}}),Te.format.gl=(...e)=>{let t=K(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},De.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 Ne(this._rgb,e)},De.hex=(...e)=>new q(...e,`hex`),Te.format.hex=je,Te.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:br}=Math,xr=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*br(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*br(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*br(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*br(r),i=255),[n,r,i,1]},{round:Sr}=Math,Cr=(...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=xr(o);e[2]/e[0]>=r/n?a=o:i=o}return Sr(o)};q.prototype.temp=q.prototype.kelvin=q.prototype.temperature=function(){return Cr(this._rgb)};var wr=(...e)=>new q(...e,`temp`);Object.assign(De,{temp:wr,kelvin:wr,temperature:wr}),Te.format.temp=Te.format.kelvin=Te.format.temperature=xr,q.prototype.oklch=function(){return Kn(this._rgb)},Object.assign(De,{oklch:(...e)=>new q(...e,`oklch`)}),Te.format.oklch=Xn,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklch`),G(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(De,{analyze:un,average:zt,bezier:Kt,blend:Jt,brewer:Rn,Color:q,colors:Oe,contrast:fn,contrastAPCA:yn,cubehelix:en,deltaE:jn,distance:Mn,input:Te,interpolate:Qe,limits:dn,mix:Qe,random:an,scale:Ht,scales:Pn,valid:Nn});var Tr=De;function Er(e,t){if(!Tr.valid(e))return t;try{return Tr(e)}catch{return t}}function Dr(e){return Tr.valid(e)&&Tr.contrast(e,`#fff`)>=Tr.contrast(e,`#333`)?`#fff`:`#333`}var Or=4.5;function kr(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 Ar(e,t=`#fff`){if(!Tr.valid(e))return Tr.valid(t)?Dr(t):`#333`;let n=Tr(e),r=Er(t,Tr(`#fff`));if(Tr.contrast(n,r)>=Or)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Tr.contrast(n,r)>=Or));e++);return n.hex()}var jr=12,Mr=.25,Nr=20,Pr=15;function Fr(e,t){if(e.length===0)return[];let n=Er(t,Tr(`#fff`)),r=Tr.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Tr.valid(e)?Ir(Tr(e),r,i):Tr(`#000`));for(let e=1;e<a.length;e++)a[e]=zr(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Ir(e,t,n){for(let r=0;r<Nr;r++){if(Tr.contrast(e,t)>=Or)return e;e=n?e.darken(Mr):e.brighten(Mr)}return e}function Lr(e,t){return t.reduce((t,n)=>Math.min(t,Tr.deltaE(e,n)),1/0)}function*Rr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Nr;e++)t=n?t.darken(Mr):t.brighten(Mr),yield t}for(let t=Pr;t<=180;t+=Pr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function zr(e,t,n,r){let i=e,a=Lr(e,t);if(a>=jr)return e;for(let o of Rr(e,r)){if(Tr.contrast(o,n)<Or)continue;let e=Lr(o,t);if(e>a&&(i=o,a=e),a>=jr)break}return i}var Br=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}({}),Vr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),Hr=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Ur=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Wr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Gr=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Kr=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}({}),qr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Jr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Yr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),Xr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Zr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),Qr=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}({}),$r=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),ei=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),ti=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),ni=function(e){return e.None=`none`,e.Forward=`forward`,e.Backward=`backward`,e.Both=`both`,e}({}),ri=function(e){return e.Dumbbell=`dumbbell`,e.Range=`range`,e}({}),ii=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.Series=`series`,e.None=`none`,e.Value=`value`,e.Gap=`gap`,e.Change=`change`,e}({}),ai=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),oi=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),si=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),ci=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),li=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),ui=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}({}),di=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),fi=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}({}),pi=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}({}),mi=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),hi=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),gi=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}))})),_i=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)}}}))})),vi=l(gi(),1),yi=l(_i(),1);vi.default.extend(yi.default);var bi=[`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 xi(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 Si(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function Ci(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,vi.default)(t,`YYYY`,!0);return e.isValid()?Si(e):null}for(let e of bi){if(e===`YYYY`)continue;let n=(0,vi.default)(t,e,!0);if(n.isValid())return Si(n)}return null}function wi(e){let t=e.trim();if(!t)return;let n=Ci(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function Ti(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?Ci(t)?.getTime():n}function Ei(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,vi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(Si(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of bi)e!==`YYYY`&&(0,vi.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,vi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(Si(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:xi(n)}:null}function Di(e){return typeof e==`string`?Ti(e):e}function Oi(e,t){if(typeof e!=`string`)return e;let n=Ci(e);return n?n.getTime():t?void 0:wi(e)}function ki(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=Ei(e)!==null,r=Oi(t.min,n),i=Oi(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=wi(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 Ai(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function ji(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===Hr.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=Di(t?.min)??i,u=Di(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 Mi(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 Ni(e,t){let n=e.domain().map(Number);if(!n.every(Number.isFinite))return t;let r=Math.min(...n),i=Math.max(...n);return t.filter(e=>Number(e)>=r&&Number(e)<=i)}function Pi(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Fi(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ii(e){let t,n,r;e.length===2?(t=e===Pi||e===Fi?e:Li,n=e,r=e):(t=Pi,n=(t,n)=>Pi(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 Li(){return 0}function Ri(e){return e===null?NaN:+e}var zi=Ii(Pi),Bi=zi.right;zi.left;var Vi=Ii(Ri).center;function Hi(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 Ui=class extends Map{constructor(e,t=qi){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(Wi(this,e))}has(e){return super.has(Wi(this,e))}set(e,t){return super.set(Gi(this,e),t)}delete(e){return super.delete(Ki(this,e))}};function Wi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Gi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Ki({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function qi(e){return typeof e==`object`&&e?e.valueOf():e}function Ji(e){return e}function Yi(e,...t){return Zi(e,Ji,Ji,t)}function Xi(e,t,...n){return Zi(e,Ji,t,n)}function Zi(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Ui,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 Qi(e,t){return Array.from(t,t=>e[t])}function $i(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=ta(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>ta(n[e],n[t]))),Qi(e,r)}return e.sort(ea(n))}function ea(e=Pi){if(e===Pi)return ta;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 ta(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var na=Math.sqrt(50),ra=Math.sqrt(10),ia=Math.sqrt(2);function aa(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=na?10:a>=ra?5:a>=ia?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?aa(e,t,n*2):[s,c,l]}function oa(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?aa(t,e,n):aa(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 sa(e,t,n){return t=+t,e=+e,n=+n,aa(e,t,n)[2]}function ca(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?sa(t,e,n):sa(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function la(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 ua(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 da(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 fa(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 pa(e){return e}var ma=1,ha=2,ga=3,_a=4,va=1e-6;function ya(e){return`translate(`+e+`,0)`}function ba(e){return`translate(0,`+e+`)`}function xa(e){return t=>+e(t)}function Sa(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function Ca(){return!this.__axis}function wa(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===ma||e===_a?-1:1,u=e===_a||e===ha?`x`:`y`,d=e===ma||e===ga?ya:ba;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):pa),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?Sa:xa)(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===ma?`0em`:e===ga?`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`,va).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,va).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===_a||e===ha?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(Ca).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ha?`start`:e===_a?`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 Ta(e){return wa(ma,e)}function Ea(e){return wa(ha,e)}function Da(e){return wa(ga,e)}function Oa(e){return wa(_a,e)}var ka={value:()=>{}};function Aa(){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 ja(n)}function ja(e){this._=e}function Ma(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}})}ja.prototype=Aa.prototype={constructor:ja,on:function(e,t){var n=this._,r=Ma(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Na(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]=Pa(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Pa(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 ja(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 Na(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Pa(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=ka,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Fa={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 Ia(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Fa.hasOwnProperty(t)?{space:Fa[t],local:e}:e}function La(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 Ra(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function za(e){var t=Ia(e);return(t.local?Ra:La)(t)}function Ba(){}function Va(e){return e==null?Ba:function(){return this.querySelector(e)}}function Ha(e){typeof e!=`function`&&(e=Va(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 js(r,this._parents)}function Ua(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Wa(){return[]}function Ga(e){return e==null?Wa:function(){return this.querySelectorAll(e)}}function Ka(e){return function(){return Ua(e.apply(this,arguments))}}function qa(e){e=typeof e==`function`?Ka(e):Ga(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 js(r,i)}function Ja(e){return function(){return this.matches(e)}}function Ya(e){return function(t){return t.matches(e)}}var Xa=Array.prototype.find;function Za(e){return function(){return Xa.call(this.children,e)}}function Qa(){return this.firstElementChild}function $a(e){return this.select(e==null?Qa:Za(typeof e==`function`?e:Ya(e)))}var eo=Array.prototype.filter;function to(){return Array.from(this.children)}function no(e){return function(){return eo.call(this.children,e)}}function ro(e){return this.selectAll(e==null?to:no(typeof e==`function`?e:Ya(e)))}function io(e){typeof e!=`function`&&(e=Ja(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 js(r,this._parents)}function ao(e){return Array(e.length)}function oo(){return new js(this._enter||this._groups.map(ao),this._parents)}function so(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}so.prototype={constructor:so,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 co(e){return function(){return e}}function lo(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 so(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function uo(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 so(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function fo(e){return e.__data__}function po(e,t){if(!arguments.length)return Array.from(this,fo);var n=t?uo:lo,r=this._parents,i=this._groups;typeof e!=`function`&&(e=co(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=mo(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 js(o,r),o._enter=s,o._exit=c,o}function mo(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ho(){return new js(this._exit||this._groups.map(ao),this._parents)}function go(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 _o(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 js(s,this._parents)}function vo(){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 yo(e){e||=bo;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 js(i,this._parents).order()}function bo(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function xo(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function So(){return Array.from(this)}function Co(){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 wo(){let e=0;for(let t of this)++e;return e}function To(){return!this.node()}function Eo(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 Do(e){return function(){this.removeAttribute(e)}}function Oo(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ko(e,t){return function(){this.setAttribute(e,t)}}function Ao(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function jo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Mo(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 No(e,t){var n=Ia(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?Oo:Do:typeof t==`function`?n.local?Mo:jo:n.local?Ao:ko)(n,t))}function Po(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Fo(e){return function(){this.style.removeProperty(e)}}function Io(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Lo(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ro(e,t,n){return arguments.length>1?this.each((t==null?Fo:typeof t==`function`?Lo:Io)(e,t,n??``)):zo(this.node(),e)}function zo(e,t){return e.style.getPropertyValue(t)||Po(e).getComputedStyle(e,null).getPropertyValue(t)}function Bo(e){return function(){delete this[e]}}function Vo(e,t){return function(){this[e]=t}}function Ho(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Uo(e,t){return arguments.length>1?this.each((t==null?Bo:typeof t==`function`?Ho:Vo)(e,t)):this.node()[e]}function Wo(e){return e.trim().split(/^|\s+/)}function Go(e){return e.classList||new Ko(e)}function Ko(e){this._node=e,this._names=Wo(e.getAttribute(`class`)||``)}Ko.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 qo(e,t){for(var n=Go(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Jo(e,t){for(var n=Go(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Yo(e){return function(){qo(this,e)}}function Xo(e){return function(){Jo(this,e)}}function Zo(e,t){return function(){(t.apply(this,arguments)?qo:Jo)(this,e)}}function Qo(e,t){var n=Wo(e+``);if(arguments.length<2){for(var r=Go(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Zo:t?Yo:Xo)(n,t))}function $o(){this.textContent=``}function es(e){return function(){this.textContent=e}}function ts(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function ns(e){return arguments.length?this.each(e==null?$o:(typeof e==`function`?ts:es)(e)):this.node().textContent}function rs(){this.innerHTML=``}function is(e){return function(){this.innerHTML=e}}function as(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function os(e){return arguments.length?this.each(e==null?rs:(typeof e==`function`?as:is)(e)):this.node().innerHTML}function ss(){this.nextSibling&&this.parentNode.appendChild(this)}function cs(){return this.each(ss)}function ls(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function us(){return this.each(ls)}function ds(e){var t=typeof e==`function`?e:za(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function fs(){return null}function ps(e,t){var n=typeof e==`function`?e:za(e),r=t==null?fs:typeof t==`function`?t:Va(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ms(){var e=this.parentNode;e&&e.removeChild(this)}function hs(){return this.each(ms)}function gs(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function _s(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function vs(e){return this.select(e?_s:gs)}function ys(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function bs(e){return function(t){e.call(this,t,this.__data__)}}function xs(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 Ss(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 Cs(e,t,n){return function(){var r=this.__on,i,a=bs(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 ws(e,t,n){var r=xs(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?Cs:Ss,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function Ts(e,t,n){var r=Po(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 Es(e,t){return function(){return Ts(this,e,t)}}function Ds(e,t){return function(){return Ts(this,e,t.apply(this,arguments))}}function Os(e,t){return this.each((typeof t==`function`?Ds:Es)(e,t))}function*ks(){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 As=[null];function js(e,t){this._groups=e,this._parents=t}function Ms(){return new js([[document.documentElement]],As)}function Ns(){return this}js.prototype=Ms.prototype={constructor:js,select:Ha,selectAll:qa,selectChild:$a,selectChildren:ro,filter:io,data:po,enter:oo,exit:ho,join:go,merge:_o,selection:Ns,order:vo,sort:yo,call:xo,nodes:So,node:Co,size:wo,empty:To,each:Eo,attr:No,style:Ro,property:Uo,classed:Qo,text:ns,html:os,raise:cs,lower:us,append:ds,insert:ps,remove:hs,clone:vs,datum:ys,on:ws,dispatch:Os,[Symbol.iterator]:ks};function Q(e){return typeof e==`string`?new js([[document.querySelector(e)]],[document.documentElement]):new js([[e]],As)}function Ps(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Fs(e,t){if(e=Ps(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 Is(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Ls(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Rs(){}var zs=.7,Bs=1/zs,Vs=`\\s*([+-]?\\d+)\\s*`,Hs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Us=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Ws=/^#([0-9a-f]{3,8})$/,Gs=RegExp(`^rgb\\(${Vs},${Vs},${Vs}\\)$`),Ks=RegExp(`^rgb\\(${Us},${Us},${Us}\\)$`),qs=RegExp(`^rgba\\(${Vs},${Vs},${Vs},${Hs}\\)$`),Js=RegExp(`^rgba\\(${Us},${Us},${Us},${Hs}\\)$`),Ys=RegExp(`^hsl\\(${Hs},${Us},${Us}\\)$`),Xs=RegExp(`^hsla\\(${Hs},${Us},${Us},${Hs}\\)$`),Zs={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};Is(Rs,nc,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Qs,formatHex:Qs,formatHex8:$s,formatHsl:ec,formatRgb:tc,toString:tc});function Qs(){return this.rgb().formatHex()}function $s(){return this.rgb().formatHex8()}function ec(){return hc(this).formatHsl()}function tc(){return this.rgb().formatRgb()}function nc(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Ws.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?rc(t):n===3?new sc(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ic(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ic(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=Gs.exec(e))?new sc(t[1],t[2],t[3],1):(t=Ks.exec(e))?new sc(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=qs.exec(e))?ic(t[1],t[2],t[3],t[4]):(t=Js.exec(e))?ic(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ys.exec(e))?mc(t[1],t[2]/100,t[3]/100,1):(t=Xs.exec(e))?mc(t[1],t[2]/100,t[3]/100,t[4]):Zs.hasOwnProperty(e)?rc(Zs[e]):e===`transparent`?new sc(NaN,NaN,NaN,0):null}function rc(e){return new sc(e>>16&255,e>>8&255,e&255,1)}function ic(e,t,n,r){return r<=0&&(e=t=n=NaN),new sc(e,t,n,r)}function ac(e){return e instanceof Rs||(e=nc(e)),e?(e=e.rgb(),new sc(e.r,e.g,e.b,e.opacity)):new sc}function oc(e,t,n,r){return arguments.length===1?ac(e):new sc(e,t,n,r??1)}function sc(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Is(sc,oc,Ls(Rs,{brighter(e){return e=e==null?Bs:Bs**+e,new sc(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zs:zs**+e,new sc(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new sc(fc(this.r),fc(this.g),fc(this.b),dc(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:cc,formatHex:cc,formatHex8:lc,formatRgb:uc,toString:uc}));function cc(){return`#${pc(this.r)}${pc(this.g)}${pc(this.b)}`}function lc(){return`#${pc(this.r)}${pc(this.g)}${pc(this.b)}${pc((isNaN(this.opacity)?1:this.opacity)*255)}`}function uc(){let e=dc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${fc(this.r)}, ${fc(this.g)}, ${fc(this.b)}${e===1?`)`:`, ${e})`}`}function dc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function fc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function pc(e){return e=fc(e),(e<16?`0`:``)+e.toString(16)}function mc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new _c(e,t,n,r)}function hc(e){if(e instanceof _c)return new _c(e.h,e.s,e.l,e.opacity);if(e instanceof Rs||(e=nc(e)),!e)return new _c;if(e instanceof _c)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 _c(o,s,c,e.opacity)}function gc(e,t,n,r){return arguments.length===1?hc(e):new _c(e,t,n,r??1)}function _c(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Is(_c,gc,Ls(Rs,{brighter(e){return e=e==null?Bs:Bs**+e,new _c(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zs:zs**+e,new _c(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 sc(bc(e>=240?e-240:e+120,i,r),bc(e,i,r),bc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new _c(vc(this.h),yc(this.s),yc(this.l),dc(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=dc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${vc(this.h)}, ${yc(this.s)*100}%, ${yc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function vc(e){return e=(e||0)%360,e<0?e+360:e}function yc(e){return Math.max(0,Math.min(1,e||0))}function bc(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 xc=e=>()=>e;function Sc(e,t){return function(n){return e+n*t}}function Cc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function wc(e){return(e=+e)==1?Tc:function(t,n){return n-t?Cc(t,n,e):xc(isNaN(t)?n:t)}}function Tc(e,t){var n=t-e;return n?Sc(e,n):xc(isNaN(e)?t:e)}var Ec=(function e(t){var n=wc(t);function r(e,t){var r=n((e=oc(e)).r,(t=oc(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Tc(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 Dc(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 Oc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kc(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]=Rc(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 Ac(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function jc(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Mc(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]=Rc(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Nc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pc=new RegExp(Nc.source,`g`);function Fc(e){return function(){return e}}function Ic(e){return function(t){return e(t)+``}}function Lc(e,t){var n=Nc.lastIndex=Pc.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Nc.exec(e))&&(i=Pc.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:jc(r,i)})),n=Pc.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Ic(c[0].x):Fc(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 Rc(e,t){var n=typeof t,r;return t==null||n===`boolean`?xc(t):(n===`number`?jc:n===`string`?(r=nc(t))?(t=r,Ec):Lc:t instanceof nc?Ec:t instanceof Date?Ac:Oc(t)?Dc:Array.isArray(t)?kc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Mc:jc)(e,t)}function zc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Bc=180/Math.PI,Vc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Hc(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)*Bc,skewX:Math.atan(c)*Bc,scaleX:o,scaleY:s}}var Uc;function Wc(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Vc:Hc(t.a,t.b,t.c,t.d,t.e,t.f)}function Gc(e){return e==null||(Uc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Uc.setAttribute(`transform`,e),!(e=Uc.transform.baseVal.consolidate()))?Vc:(e=e.matrix,Hc(e.a,e.b,e.c,e.d,e.e,e.f))}function Kc(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:jc(e,i)},{i:c-2,x:jc(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:jc(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:jc(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:jc(e,n)},{i:s-2,x:jc(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 qc=Kc(Wc,`px, `,`px)`,`deg)`),Jc=Kc(Gc,`, `,`)`,`)`),Yc=0,Xc=0,Zc=0,Qc=1e3,$c,el,tl=0,nl=0,rl=0,il=typeof performance==`object`&&performance.now?performance:Date,al=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ol(){return nl||=(al(sl),il.now()+rl)}function sl(){nl=0}function cl(){this._call=this._time=this._next=null}cl.prototype=ll.prototype={constructor:cl,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ol():+n)+(t==null?0:+t),!this._next&&el!==this&&(el?el._next=this:$c=this,el=this),this._call=e,this._time=n,ml()},stop:function(){this._call&&(this._call=null,this._time=1/0,ml())}};function ll(e,t,n){var r=new cl;return r.restart(e,t,n),r}function ul(){ol(),++Yc;for(var e=$c,t;e;)(t=nl-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Yc}function dl(){nl=(tl=il.now())+rl,Yc=Xc=0;try{ul()}finally{Yc=0,pl(),nl=0}}function fl(){var e=il.now(),t=e-tl;t>Qc&&(rl-=t,tl=e)}function pl(){for(var e,t=$c,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:$c=n);el=e,ml(r)}function ml(e){Yc||(Xc&&=clearTimeout(Xc),e-nl>24?(e<1/0&&(Xc=setTimeout(dl,e-il.now()-rl)),Zc&&=clearInterval(Zc)):(Zc||=(tl=il.now(),setInterval(fl,Qc)),Yc=1,al(dl)))}function hl(e,t,n){var r=new cl;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var gl=Aa(`start`,`end`,`cancel`,`interrupt`),_l=[];function vl(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Sl(e,n,{name:t,index:r,group:i,on:gl,tween:_l,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function yl(e,t){var n=xl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function bl(e,t){var n=xl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function xl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Sl(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=ll(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 hl(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(hl(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 Cl(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 wl(e){return this.each(function(){Cl(this,e)})}function Tl(e,t){var n,r;return function(){var i=bl(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 El(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=bl(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 Dl(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=xl(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?Tl:El)(n,e,t))}function Ol(e,t,n){var r=e._id;return e.each(function(){var e=bl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return xl(e,r).value[t]}}function kl(e,t){var n;return(typeof t==`number`?jc:t instanceof nc?Ec:(n=nc(t))?(t=n,Ec):Lc)(e,t)}function Al(e){return function(){this.removeAttribute(e)}}function jl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ml(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 Nl(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 Pl(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 Fl(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 Il(e,t){var n=Ia(e),r=n===`transform`?Jc:kl;return this.attrTween(e,typeof t==`function`?(n.local?Fl:Pl)(n,r,Ol(this,`attr.`+e,t)):t==null?(n.local?jl:Al)(n):(n.local?Nl:Ml)(n,r,t))}function Ll(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Rl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function zl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Rl(e,i)),n}return i._value=t,i}function Bl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Ll(e,i)),n}return i._value=t,i}function Vl(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=Ia(e);return this.tween(n,(r.local?zl:Bl)(r,t))}function Hl(e,t){return function(){yl(this,e).delay=+t.apply(this,arguments)}}function Ul(e,t){return t=+t,function(){yl(this,e).delay=t}}function Wl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Hl:Ul)(t,e)):xl(this.node(),t).delay}function Gl(e,t){return function(){bl(this,e).duration=+t.apply(this,arguments)}}function Kl(e,t){return t=+t,function(){bl(this,e).duration=t}}function ql(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Gl:Kl)(t,e)):xl(this.node(),t).duration}function Jl(e,t){if(typeof t!=`function`)throw Error();return function(){bl(this,e).ease=t}}function Yl(e){var t=this._id;return arguments.length?this.each(Jl(t,e)):xl(this.node(),t).ease}function Xl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();bl(this,e).ease=n}}function Zl(e){if(typeof e!=`function`)throw Error();return this.each(Xl(this._id,e))}function Ql(e){typeof e!=`function`&&(e=Ja(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 Du(r,this._parents,this._name,this._id)}function $l(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 Du(o,this._parents,this._name,this._id)}function eu(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 tu(e,t,n){var r,i,a=eu(t)?yl:bl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function nu(e,t){var n=this._id;return arguments.length<2?xl(this.node(),n).on.on(e):this.each(tu(n,e,t))}function ru(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function iu(){return this.on(`end.remove`,ru(this._id))}function au(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Va(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,vl(l[f],t,n,f,l,xl(u,n)));return new Du(a,this._parents,t,n)}function ou(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ga(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=xl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&vl(p,t,n,h,f,m);a.push(f),o.push(u)}return new Du(a,o,t,n)}var su=Ms.prototype.constructor;function cu(){return new su(this._groups,this._parents)}function lu(e,t){var n,r,i;return function(){var a=zo(this,e),o=(this.style.removeProperty(e),zo(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function uu(e){return function(){this.style.removeProperty(e)}}function du(e,t,n){var r,i=n+``,a;return function(){var o=zo(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function fu(e,t,n){var r,i,a;return function(){var o=zo(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),zo(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function pu(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=bl(this,e),l=c.on,u=c.value[a]==null?s||=uu(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function mu(e,t,n){var r=(e+=``)==`transform`?qc:kl;return t==null?this.styleTween(e,lu(e,r)).on(`end.style.`+e,uu(e)):typeof t==`function`?this.styleTween(e,fu(e,r,Ol(this,`style.`+e,t))).each(pu(this._id,e)):this.styleTween(e,du(e,r,t),n).on(`end.style.`+e,null)}function hu(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function gu(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&hu(e,a,n)),r}return a._value=t,a}function _u(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,gu(e,t,n??``))}function vu(e){return function(){this.textContent=e}}function yu(e){return function(){var t=e(this);this.textContent=t??``}}function bu(e){return this.tween(`text`,typeof e==`function`?yu(Ol(this,`text`,e)):vu(e==null?``:e+``))}function xu(e){return function(t){this.textContent=e.call(this,t)}}function Su(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&xu(r)),t}return r._value=e,r}function Cu(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,Su(e))}function wu(){for(var e=this._name,t=this._id,n=ku(),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=xl(c,t);vl(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Du(r,this._parents,e,n)}function Tu(){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=bl(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 Eu=0;function Du(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ou(e){return Ms().transition(e)}function ku(){return++Eu}var Au=Ms.prototype;Du.prototype=Ou.prototype={constructor:Du,select:au,selectAll:ou,selectChild:Au.selectChild,selectChildren:Au.selectChildren,filter:Ql,merge:$l,selection:cu,transition:wu,call:Au.call,nodes:Au.nodes,node:Au.node,size:Au.size,empty:Au.empty,each:Au.each,on:nu,attr:Il,attrTween:Vl,style:mu,styleTween:_u,text:bu,textTween:Cu,remove:iu,tween:Dl,delay:Wl,duration:ql,ease:Yl,easeVarying:Zl,end:Tu,[Symbol.iterator]:Au[Symbol.iterator]};function ju(e){return--e*e*e+1}function Mu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Nu={time:null,delay:0,duration:250,ease:Mu};function Pu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Fu(e){var t,n;e instanceof Du?(t=e._id,e=e._name):(t=ku(),(n=Nu).time=ol(),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])&&vl(c,e,t,l,o,n||Pu(c,t));return new Du(r,this._parents,e,t)}Ms.prototype.interrupt=wl,Ms.prototype.transition=Fu;var Iu=[null];function Lu(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 Du([[e]],Iu,t,+i)}return null}var{abs:Ru,max:zu,min:Bu}=Math;[`w`,`e`].map(Vu),[`n`,`s`].map(Vu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Vu);function Vu(e){return{type:e}}var Hu=Math.PI,Uu=2*Hu,Wu=1e-6,Gu=Uu-Wu;function Ku(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function qu(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ku;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 Ju=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Ku:qu(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>Wu){if(!(Math.abs(u*s-c*l)>Wu)||!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((Hu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Wu&&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)>Wu||Math.abs(this._y1-l)>Wu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Uu+Uu),d>Gu?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>Wu&&this._append`A${n},${n},0,${+(d>=Hu)},${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._}};Ju.prototype;var Yu=11102230246251565e-32,Xu=134217729,Zu=3.000000000000001*Yu;function Qu(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 $u(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 ed=(3+16*Yu)*Yu,td=(2+12*Yu)*Yu,nd=(9+64*Yu)*Yu*Yu,rd=$(4),id=$(8),ad=$(12),od=$(16),sd=$(4);function cd(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=Xu*T,p=f-(f-T),m=T-p,f=Xu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Xu*D,p=f-(f-D),m=D-p,f=Xu*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 k=$u(4,rd),A=td*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=nd*o+Zu*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Xu*s,p=f-(f-s),m=s-p,f=Xu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Xu*c,p=f-(f-c),m=c-p,f=Xu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,sd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,sd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,sd[2]=v-(w-d)+(_-d),sd[3]=w;let j=Qu(4,rd,4,sd,id);b=T*u,f=Xu*T,p=f-(f-T),m=T-p,f=Xu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Xu*D,p=f-(f-D),m=D-p,f=Xu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,sd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,sd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,sd[2]=v-(w-d)+(_-d),sd[3]=w;let M=Qu(j,id,4,sd,ad);return b=s*u,f=Xu*s,p=f-(f-s),m=s-p,f=Xu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Xu*c,p=f-(f-c),m=c-p,f=Xu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,sd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,sd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,sd[2]=v-(w-d)+(_-d),sd[3]=w,od[Qu(M,ad,4,sd,od)-1]}function ld(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)>=ed*l?c:-cd(e,t,n,r,i,a,l)}(7+56*Yu)*Yu,(3+28*Yu)*Yu,(26+288*Yu)*Yu*Yu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Yu)*Yu,(4+48*Yu)*Yu,(44+576*Yu)*Yu*Yu,$(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*Yu)*Yu,(5+72*Yu)*Yu,(71+1408*Yu)*Yu*Yu,$(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 ud=2**-52,dd=new Uint32Array(512),fd=class e{static from(t,n=bd,r=xd){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=md(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=md(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=gd(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];vd(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(ld(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=_d(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=md(e[2*t],e[2*t+1],S.x,S.y);vd(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)<=ud&&Math.abs(u-s)<=ud||(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],ld(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],ld(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],ld(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(pd(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=dd[--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(hd(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<dd.length&&(dd[i++]=s)}else{if(i===0)break;e=dd[--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 pd(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function md(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function hd(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 gd(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 _d(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 vd(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;yd(e,i,a),t[e[n]]>t[e[r]]&&yd(e,n,r),t[e[a]]>t[e[r]]&&yd(e,a,r),t[e[n]]>t[e[a]]&&yd(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;yd(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(vd(e,t,a,r),vd(e,t,n,o-1)):(vd(e,t,n,o-1),vd(e,t,a,r))}}function yd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function bd(e){return e[0]}function xd(e){return e[1]}var Sd=1e-6,Cd=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)>Sd||Math.abs(this._y1-i)>Sd)&&(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}},wd=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}},Td=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 Cd: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 Cd: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 Cd: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 wd;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}},Ed=2*Math.PI,Dd=Math.pow;function Od(e){return e[0]}function kd(e){return e[1]}function Ad(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 jd(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var Md=class e{static from(t,n=Od,r=kd,i){return new e(`length`in t?Nd(t,n,r,i):Float64Array.from(Pd(t,n,r,i)))}constructor(e){this._delaunator=new fd(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&&Ad(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=jd(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new fd(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 Td(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=Dd(t-c[e*2],2)+Dd(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=Dd(t-c[r*2],2)+Dd(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&&Dd(t-c[f*2],2)+Dd(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new Cd: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 Cd: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,Ed)}return n&&n.value()}renderHull(e){let t=e==null?e=new Cd: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 wd;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new Cd: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 wd;return this.renderTriangle(e,t),t.value()}};function Nd(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*Pd(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}var Fd={},Id={},Ld=34,Rd=10,zd=13;function Bd(e){return Function(`d`,`return {`+e.map(function(e,t){return JSON.stringify(e)+`: d[`+t+`] || ""`}).join(`,`)+`}`)}function Vd(e,t){var n=Bd(e);return function(r,i){return t(n(r),i,e)}}function Hd(e){var t=Object.create(null),n=[];return e.forEach(function(e){for(var r in e)r in t||n.push(t[r]=r)}),n}function Ud(e,t){var n=e+``,r=n.length;return r<t?Array(t-r+1).join(0)+n:n}function Wd(e){return e<0?`-`+Ud(-e,6):e>9999?`+`+Ud(e,6):Ud(e,4)}function Gd(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?`Invalid Date`:Wd(e.getUTCFullYear(),4)+`-`+Ud(e.getUTCMonth()+1,2)+`-`+Ud(e.getUTCDate(),2)+(i?`T`+Ud(t,2)+`:`+Ud(n,2)+`:`+Ud(r,2)+`.`+Ud(i,3)+`Z`:r?`T`+Ud(t,2)+`:`+Ud(n,2)+`:`+Ud(r,2)+`Z`:n||t?`T`+Ud(t,2)+`:`+Ud(n,2)+`Z`:``)}function Kd(e){var t=RegExp(`["`+e+`
316
- \r]`),n=e.charCodeAt(0);function r(e,t){var n,r,a=i(e,function(e,i){if(n)return n(e,i-1);r=e,n=t?Vd(e,t):Bd(e)});return a.columns=r||[],a}function i(e,t){var r=[],i=e.length,a=0,o=0,s,c=i<=0,l=!1;e.charCodeAt(i-1)===Rd&&--i,e.charCodeAt(i-1)===zd&&--i;function u(){if(c)return Id;if(l)return l=!1,Fd;var t,r=a,o;if(e.charCodeAt(r)===Ld){for(;a++<i&&e.charCodeAt(a)!==Ld||e.charCodeAt(++a)===Ld;);return(t=a)>=i?c=!0:(o=e.charCodeAt(a++))===Rd?l=!0:o===zd&&(l=!0,e.charCodeAt(a)===Rd&&++a),e.slice(r+1,t-1).replace(/""/g,`"`)}for(;a<i;){if((o=e.charCodeAt(t=a++))===Rd)l=!0;else if(o===zd)l=!0,e.charCodeAt(a)===Rd&&++a;else if(o!==n)continue;return e.slice(r,t)}return c=!0,e.slice(r,i)}for(;(s=u())!==Id;){for(var d=[];s!==Fd&&s!==Id;)d.push(s),s=u();t&&(d=t(d,o++))==null||r.push(d)}return r}function a(t,n){return t.map(function(t){return n.map(function(e){return u(t[e])}).join(e)})}function o(t,n){return n??=Hd(t),[n.map(u).join(e)].concat(a(t,n)).join(`
317
- `)}function s(e,t){return t??=Hd(e),a(e,t).join(`
312
+ `,v=`blueprint-chart-resize`,y=`blueprint-chart-error`;function b(e){return typeof e==`object`&&e&&e.type===`blueprint-chart-resize`&&typeof e.height==`number`?e.height:null}function x(e){return typeof e==`object`&&!!e&&e.type===`blueprint-chart-error`}var S=C();function C(){try{if(typeof globalThis<`u`){let e=globalThis.BLUEPRINT_CHART_RUNTIME_URL;if(typeof e==`string`&&e)return e}return typeof document>`u`?``:document.currentScript?.src??``}catch{return``}}var w=new Map,T=null,E=[];function D(){T||(T=e=>{for(let[t,n]of w)if(e.source===t.contentWindow){n(e);return}},window.addEventListener(`message`,T))}function O(){D(),document.querySelectorAll(`script[type="application/blueprint-chart"]`).forEach(k)}function k(e){let t=e.textContent?.trim();if(!t)return;let n=document.createElement(`iframe`);n.className=`blueprint-chart-iframe`,n.style.cssText=`border: none; width: 100%; display: block;`,n.setAttribute(`sandbox`,`allow-scripts`),n.setAttribute(`title`,`Blueprint Chart`),e.parentNode?.insertBefore(n,e);let r=e.closest(`[data-bs-theme]`)?.getAttribute(`data-bs-theme`);if(r===`light`||r===`dark`)n.srcdoc=j(t,S,r);else{let e=u(),r=()=>{n.srcdoc=j(t,S,e?.matches?`dark`:`light`)};r(),e&&(e.addEventListener(`change`,r),E.push(()=>e.removeEventListener(`change`,r)))}w.set(n,e=>{let t=b(e.data);if(t!==null){n.style.height=`${t}px`;return}x(e.data)&&console.warn(`Blueprint Chart: could not render embed.`,e.data.message)})}function A(e){try{return g(e).scenes.length}catch{return 0}}function j(e,t,n){let r=t?`<script src="${N(t)}"><\/script>`:``,i=n===`dark`?`<html data-bs-theme="dark">`:`<html>`,a=t?[`try {`,` var chart = document.getElementById("chart");`,` window.BlueprintChart.renderBpc(chart, __BPC_SRC__);`,` if (__BPC_SCENES__) {`,` window.BlueprintChart.createSceneController(document.body, new Array(__BPC_SCENES__ + 1).fill({ name: "" }), function (_scene, i) {`,` window.BlueprintChart.renderBpc(chart, __BPC_SRC__, { sceneIndex: i ? i - 1 : undefined, transition: true });`,` });`,` }`,`}`,`catch (e) {`,` parent.postMessage({ type: "${y}", message: String(e) }, "*");`,`}`]:[`parent.postMessage({ type: "${y}", message: "Blueprint Chart runtime URL unavailable" }, "*");`];return[`<!DOCTYPE html>`,`${i}<head>`,`<style>${_}</style>`,`</head><body>`,`<div id="chart" class="blueprint-chart-container"></div>`,r,`<script>`,`var __BPC_SRC__ = ${M(e)};`,`var __BPC_SCENES__ = ${A(e)};`,`function notifySize() {`,` var h = document.documentElement.scrollHeight;`,` parent.postMessage({ type: "${v}", height: h }, "*");`,`}`,...a,`notifySize();`,`new ResizeObserver(notifySize).observe(document.body);`,`<\/script>`,`</body></html>`].filter(Boolean).join(`
313
+ `)}function M(e){return JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function N(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function P(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function F(e){return P(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function I(e){let t=F(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var L={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},R={"\\":`\\`,'"':`"`,n:`
314
+ `,r:`\r`,t:` `};function z(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>L[e])}"`}function B(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):R[t])}function V(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?B(t.slice(1,-1)):t}function H(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 ee=`"((?:[^"\\\\]|\\\\.)*)"`,U=RegExp(`^${ee}\\s*=\\s*(.+)$`),te=RegExp(`^${ee}\\s*=\\s*"([^"]*)"$`),ne=RegExp(`^${ee}\\s*=\\s*(.+)$`);function re(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 ie(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>V(e)!==``);return i.length>0&&i.every(e=>I(e)===void 0)?[{name:e,values:r.map(e=>V(e)||void 0)}]:[]})}function W(e){let t=e.split(`
315
+ `).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=H(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(te),i=n??t[e].match(U);i&&r.push({cells:H(i[2]),label:B(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(V):V(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(I(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=ie(a,r);return{labels:re(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(ne);t&&(n.push(B(t[1])),r.push(I(t[2])))}return{labels:re(n),values:r}}var ae=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],oe=[{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`]}],se=Object.fromEntries(oe.map(e=>[e.name,e.colors]));function ce(e){if(!e)return;let t=se[e];return t?[...t]:void 0}function le(){return oe}var{min:ue,max:de}=Math,fe=(e,t=0,n=1)=>ue(de(t,e),n),pe=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]=fe(e[t],0,255)):t===3&&(e[t]=fe(e[t],0,1));return e},me={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])me[`[object ${e}]`]=e.toLowerCase();function G(e){return me[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),he=e=>{if(e.length<2)return null;let t=e.length-1;return G(e[t])==`string`?e[t].toLowerCase():null},{PI:ge,min:_e,max:ve}=Math,ye=e=>Math.round(e*100)/100,be=e=>Math.round(e*100)/100,xe=ge*2,Se=ge/3,Ce=ge/180,we=180/ge;function Te(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Ee={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=he(e),r=!1;if(!n){r=!0,Ee.sorted||=(Ee.autodetect=Ee.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Ee.autodetect)if(n=t.test(...e),n)break}if(Ee.format[n])t._rgb=pe(Ee.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(`,`)}]`}},De=`3.2.0`,Oe=(...e)=>new q(...e);Oe.version=De;var ke={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`},Ae=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,je=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Me=e=>{if(e.match(Ae)){(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(je)){(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:Ne}=Math,Pe=(...e)=>{let[t,n,r,i]=K(e,`rgba`),a=he(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=Ne(t),n=Ne(n),r=Ne(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+Ne(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=Pe(this._rgb,`rgb`);for(let t of Object.keys(ke))if(ke[t]===e)return t.toLowerCase();return e},Ee.format.named=e=>{if(e=e.toLowerCase(),ke[e])return Me(ke[e]);throw Error(`unknown color name: `+e)},Ee.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&ke[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 Fe={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}},Ie=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 Le(e){let t=Ie.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);Fe.labWhitePoint=e,Fe.Xn=t[0],Fe.Zn=t[1]}function Re(){return Fe.labWhitePoint}var ze=(...e)=>{e=K(e,`lab`);let[t,n,r]=e,[i,a,o]=Be(t,n,r),[s,c,l]=He(i,a,o);return[s,c,l,e.length>3?e[3]:1]},Be=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=Fe,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]},Ve=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},He=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=Fe,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=Ve(y*a.m00+b*a.m10+x*a.m20),C=Ve(y*a.m01+b*a.m11+x*a.m21),w=Ve(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},Ue=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Ke(t,n,r),[c,l,u]=We(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function We(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=Fe,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 Ge(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var Ke=(e,t,n)=>{e=Ge(e/255),t=Ge(t/255),n=Ge(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=Fe,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 Ue(this._rgb)},Object.assign(Oe,{lab:(...e)=>new q(...e,`lab`),getLabWhitePoint:Re,setLabWhitePoint:Le}),Ee.format.lab=ze,Ee.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]-=Fe.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:qe}=Math,Je=1e-7,Ye=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=Ye,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<Je||!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 Xe(...this._rgb.slice(0,3))};var Xe=(e,t,n)=>(e=Ze(e),t=Ze(t),n=Ze(n),.2126*e+.7152*t+.0722*n),Ze=e=>(e/=255,e<=.03928?e/12.92:qe((e+.055)/1.055,2.4)),Qe={},$e=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Qe[i]&&!r.length&&(i=Object.keys(Qe)[0]),!Qe[i])throw Error(`interpolation mode ${i} is not defined`);return G(e)!==`object`&&(e=new q(e)),G(t)!==`object`&&(t=new q(t)),Qe[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};q.prototype.mix=q.prototype.interpolate=function(e,t=.5,...n){return $e(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:et,cos:tt}=Math,nt=(...e)=>{let[t,n,r]=K(e,`lch`);return isNaN(r)&&(r=0),r*=Ce,[t,tt(r)*n,et(r)*n]},rt=(...e)=>{e=K(e,`lch`);let[t,n,r]=e,[i,a,o]=nt(t,n,r),[s,c,l]=ze(i,a,o);return[s,c,l,e.length>3?e[3]:1]},it=(...e)=>rt(...Te(K(e,`hcl`))),{sqrt:at,atan2:ot,round:st}=Math,ct=(...e)=>{let[t,n,r]=K(e,`lab`),i=at(n*n+r*r),a=(ot(r,n)*we+360)%360;return st(i*1e4)===0&&(a=NaN),[t,i,a]},lt=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Ue(t,n,r),[c,l,u]=ct(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};q.prototype.lch=function(){return lt(this._rgb)},q.prototype.hcl=function(){return Te(lt(this._rgb))},Object.assign(Oe,{lch:(...e)=>new q(...e,`lch`),hcl:(...e)=>new q(...e,`hcl`)}),Ee.format.lch=rt,Ee.format.hcl=it,[`lch`,`hcl`].forEach(e=>Ee.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]+=Fe.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 $e(this,`white`,e,...t)},q.prototype.shade=function(e=.5,...t){return $e(this,`black`,e,...t)},Qe.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:ut,pow:dt}=Math;Qe.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new q(ut(dt(r,2)*(1-n)+dt(o,2)*n),ut(dt(i,2)*(1-n)+dt(s,2)*n),ut(dt(a,2)*(1-n)+dt(c,2)*n),`rgb`)},Qe.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 ft=(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)},pt=(e,t,n)=>ft(e,t,n,`lch`);Qe.lch=pt,Qe.hcl=pt;var mt=e=>{if(G(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},ht=(...e)=>{let[t,n,r]=K(e,`rgb`);return(t<<16)+(n<<8)+r};q.prototype.num=function(){return ht(this._rgb)},Object.assign(Oe,{num:(...e)=>new q(...e,`num`)}),Ee.format.num=mt,Ee.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&G(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Qe.num=(e,t,n)=>{let r=e.num();return new q(r+n*(t.num()-r),`num`)};var{floor:gt}=Math,_t=(...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=gt(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]},vt=(...e)=>{let[t,n,r]=K(e,`rgb`),i=_e(t,n,r),a=ve(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 vt(this._rgb)},Oe.hcg=(...e)=>new q(...e,`hcg`),Ee.format.hcg=_t,Ee.autodetect.push({p:1,test:(...e)=>{if(e=K(e,`hcg`),G(e)===`array`&&e.length===3)return`hcg`}}),Qe.hcg=(e,t,n)=>ft(e,t,n,`hcg`);var{cos:yt}=Math,bt=(...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*yt(xe*t)/yt(Se-xe*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*yt(xe*t)/yt(Se-xe*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*yt(xe*t)/yt(Se-xe*t))/3,i=1-(a+o)),i=fe(r*i*3),a=fe(r*a*3),o=fe(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:J,sqrt:xt,acos:St}=Math,Ct=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i,a=J(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/=xt((t-n)*(t-n)+(t-r)*(n-r)),i=St(i),r>n&&(i=xe-i),i/=xe),[i*360,s,o]};q.prototype.hsi=function(){return Ct(this._rgb)},Oe.hsi=(...e)=>new q(...e,`hsi`),Ee.format.hsi=bt,Ee.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsi`),G(e)===`array`&&e.length===3)return`hsi`}}),Qe.hsi=(e,t,n)=>ft(e,t,n,`hsi`);var wt=(...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]},Y=(...e)=>{e=K(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=_e(t,n,r),a=ve(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 Y(this._rgb)},Oe.hsl=(...e)=>new q(...e,`hsl`),Ee.format.hsl=wt,Ee.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsl`),G(e)===`array`&&e.length===3)return`hsl`}}),Qe.hsl=(e,t,n)=>ft(e,t,n,`hsl`);var{floor:Tt}=Math,Et=(...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=Tt(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:Dt,max:Ot}=Math,kt=(...e)=>{e=K(e,`rgb`);let[t,n,r]=e,i=Dt(t,n,r),a=Ot(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 kt(this._rgb)},Oe.hsv=(...e)=>new q(...e,`hsv`),Ee.format.hsv=Et,Ee.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsv`),G(e)===`array`&&e.length===3)return`hsv`}}),Qe.hsv=(e,t,n)=>ft(e,t,n,`hsv`);function At(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 jt=(...e)=>{e=K(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=Mt([t,n,r]),[c,l,u]=He(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Mt(e){return At([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],At([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var Nt=(...e)=>{let[t,n,r,...i]=K(e,`rgb`);return[...Pt(Ke(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function Pt(e){return At([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],At([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}q.prototype.oklab=function(){return Nt(this._rgb)},Object.assign(Oe,{oklab:(...e)=>new q(...e,`oklab`)}),Ee.format.oklab=jt,Ee.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklab`),G(e)===`array`&&e.length===3)return`oklab`}}),Qe.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`)},Qe.oklch=(e,t,n)=>ft(e,t,n,`oklch`);var{pow:X,sqrt:Ft,PI:It,cos:Lt,sin:Rt,atan2:zt}=Math,Bt=(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 Vt(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*It;c+=Lt(t)*n[0],l+=Rt(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*It;c+=Lt(t)*n[r+1],l+=Rt(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=zt(l/s[e],c/s[e])/It*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)},Vt=(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]+=X(s[0],2)*o,r[1]+=X(s[1],2)*o,r[2]+=X(s[2],2)*o,r[3]+=s[3]*o}return r[0]=Ft(r[0]),r[1]=Ft(r[1]),r[2]=Ft(r[2]),r[3]>.9999999&&(r[3]=1),new q(pe(r))},{pow:Ht}=Math;function Ut(e){let t=`rgb`,n=Oe(`#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`&&Oe.brewer&&Oe.brewer[e.toLowerCase()]&&(e=Oe.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]=Oe(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=Ht(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=fe(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=Oe.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=Oe(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=Oe.analyze(i);c=e===0?[t.min,t.max]:Oe.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=Wt(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 Oe[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=Oe(e),C)},C}function Wt(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 Gt=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},Kt=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=Gt(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},qt=e=>{let t=Kt(e);return t.scale=()=>Ut(t),t},{round:Jt}=Math;q.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Jt)},q.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:Jt(t):t)},Object.assign(Oe,{rgb:(...e)=>new q(...e,`rgb`)}),Ee.format.rgb=(...e)=>{let t=K(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Ee.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 Yt=(e,t,n)=>{if(!Yt[n])throw Error(`unknown blend mode `+n);return Yt[n](e,t)},Xt=e=>(t,n)=>{let r=Oe(n).rgb(),i=Oe(t).rgb();return Oe.rgb(e(r,i))},Zt=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};Yt.normal=Xt(Zt(e=>e)),Yt.multiply=Xt(Zt((e,t)=>e*t/255)),Yt.screen=Xt(Zt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Yt.overlay=Xt(Zt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Yt.darken=Xt(Zt((e,t)=>e>t?t:e)),Yt.lighten=Xt(Zt((e,t)=>e>t?e:t)),Yt.dodge=Xt(Zt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Yt.burn=Xt(Zt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Qt,sin:$t,cos:en}=Math;function tn(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=xe*((e+120)/360+t*s),l=Qt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=en(c),f=$t(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return Oe(pe([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=()=>Oe.scale(s),s.hue(n),s}var nn=`0123456789abcdef`,{floor:rn,random:an}=Math,on=(e=an)=>{let t=`#`;for(let n=0;n<6;n++)t+=nn.charAt(rn(e()*16));return new q(t,`hex`)},{log:sn,pow:cn,floor:ln,abs:un}=Math;function dn(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)=>fn(n,e,t),n}function fn(e,t=`equal`,n=7){G(e)==`array`&&(e=dn(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*sn(r),t=Math.LOG10E*sn(i);o.push(r);for(let r=1;r<n;r++)o.push(cn(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=ln(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=un(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 pn=(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)},mn=.027,hn=5e-4,gn=.1,_n=1.14,vn=.022,yn=1.414,bn=(e,t)=>{e=new q(e),t=new q(t),e.alpha()<1&&(e=$e(t,e,e.alpha(),`rgb`));let n=xn(...e.rgb()),r=xn(...t.rgb()),i=n>=vn?n:n+(vn-n)**+yn,a=r>=vn?r:r+(vn-r)**+yn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<hn?0:i<a?o*_n:s*_n;return(Math.abs(c)<gn?0:c>0?c-mn:c+mn)*100};function xn(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:Sn,pow:Cn,min:wn,max:Tn,atan2:En,abs:Dn,cos:On,sin:kn,exp:An,PI:jn}=Math;function Mn(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*jn)},o=function(e){return 2*jn*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=(Sn(Cn(c,2)+Cn(l,2))+Sn(Cn(d,2)+Cn(f,2)))/2,h=.5*(1-Sn(Cn(m,7)/(Cn(m,7)+Cn(25,7)))),g=c*(1+h),_=d*(1+h),v=Sn(Cn(g,2)+Cn(l,2)),y=Sn(Cn(_,2)+Cn(f,2)),b=(v+y)/2,x=a(En(l,g)),S=a(En(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=Dn(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*On(o(T-30))+.24*On(o(2*T))+.32*On(o(3*T+6))-.2*On(o(4*T-63)),D=w-C;D=Dn(D)<=180?D:w<=C?D+360:D-360,D=2*Sn(v*y)*kn(o(D)/2);let O=u-s,k=y-v,A=1+.015*Cn(p-50,2)/Sn(20+Cn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*An(-Cn((T-275)/25,2)),P=-(2*Sn(Cn(b,7)/(Cn(b,7)+Cn(25,7))))*kn(2*o(N));return Tn(0,wn(100,Sn(Cn(O/(n*A),2)+Cn(k/(r*j),2)+Cn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function Nn(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 Pn=(...e)=>{try{return new q(...e),!0}catch{return!1}},Fn={cool(){return Ut([Oe.hsl(180,1,.9),Oe.hsl(250,.7,.4)])},hot(){return Ut([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},In={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`]},Ln=Object.keys(In),Rn=new Map(Ln.map(e=>[e.toLowerCase(),e])),zn=typeof Proxy==`function`?new Proxy(In,{get(e,t){let n=t.toLowerCase();if(Rn.has(n))return e[Rn.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Ln)}}):In,Bn=(...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:Vn}=Math,Hn=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Vn(t,Vn(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 Hn(this._rgb)},Object.assign(Oe,{cmyk:(...e)=>new q(...e,`cmyk`)}),Ee.format.cmyk=Bn,Ee.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`cmyk`),G(e)===`array`&&e.length===4)return`cmyk`}});var Un=(...e)=>{let t=K(e,`hsla`),n=he(e)||`lsa`;return t[0]=ye(t[0]||0)+`deg`,t[1]=ye(t[1]*100)+`%`,t[2]=ye(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(` `)})`},Wn=(...e)=>{let t=K(e,`lab`),n=he(e)||`lab`;return t[0]=ye(t[0])+`%`,t[1]=ye(t[1]),t[2]=ye(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Gn=(...e)=>{let t=K(e,`lch`),n=he(e)||`lab`;return t[0]=ye(t[0])+`%`,t[1]=ye(t[1]),t[2]=isNaN(t[2])?`none`:ye(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(` `)})`},Kn=(...e)=>{let t=K(e,`lab`);return t[0]=ye(t[0]*100)+`%`,t[1]=be(t[1]),t[2]=be(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},qn=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Nt(t,n,r),[c,l,u]=ct(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Jn=(...e)=>{let t=K(e,`lch`);return t[0]=ye(t[0]*100)+`%`,t[1]=be(t[1]),t[2]=isNaN(t[2])?`none`:ye(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Yn}=Math,Xn=(...e)=>{let t=K(e,`rgba`),n=he(e)||`rgb`;if(n.substr(0,3)===`hsl`)return Un(Y(t),n);if(n.substr(0,3)===`lab`){let e=Re();Le(`d50`);let r=Wn(Ue(t),n);return Le(e),r}if(n.substr(0,3)===`lch`){let e=Re();Le(`d50`);let r=Gn(lt(t),n);return Le(e),r}return n.substr(0,5)===`oklab`?Kn(Nt(t)):n.substr(0,5)===`oklch`?Jn(qn(t)):(t[0]=Yn(t[0]),t[1]=Yn(t[1]),t[2]=Yn(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(` `)})`)},Zn=(...e)=>{e=K(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=nt(t,n,r),[c,l,u]=jt(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Qn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,$n=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,er=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,tr=`\\s*`,nr=`\\s+`,rr=`\\s*,\\s*`,ir=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,ar=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,or=RegExp(`^rgba?\\(`+tr+[Qn,Qn,Qn].join(nr)+ar+`\\)$`),sr=RegExp(`^rgb\\(`+tr+[Qn,Qn,Qn].join(rr)+tr+`\\)$`),cr=RegExp(`^rgba\\(`+tr+[Qn,Qn,Qn,$n].join(rr)+tr+`\\)$`),lr=RegExp(`^hsla?\\(`+tr+[ir,er,er].join(nr)+ar+`\\)$`),ur=RegExp(`^hsl?\\(`+tr+[ir,er,er].join(rr)+tr+`\\)$`),dr=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,fr=RegExp(`^lab\\(`+tr+[$n,$n,$n].join(nr)+ar+`\\)$`),pr=RegExp(`^lch\\(`+tr+[$n,$n,ir].join(nr)+ar+`\\)$`),mr=RegExp(`^oklab\\(`+tr+[$n,$n,$n].join(nr)+ar+`\\)$`),hr=RegExp(`^oklch\\(`+tr+[$n,$n,ir].join(nr)+ar+`\\)$`),{round:gr}=Math,_r=e=>e.map((e,t)=>t<=2?fe(gr(e),0,255):e),vr=(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),yr=(e,t)=>e===`none`?t:e,br=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Ee.format.named)try{return Ee.format.named(e)}catch{}if((t=e.match(or))||(t=e.match(sr))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+vr(yr(e[t],0),0,255);e=_r(e);let n=t[4]===void 0?1:+vr(t[4],0,1);return e[3]=n,e}if(t=e.match(cr)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+vr(e[t],0,255);return e}if((t=e.match(lr))||(t=e.match(ur))){let e=t.slice(1,4);e[0]=+yr(e[0].replace(`deg`,``),0),e[1]=vr(yr(e[1],0),0,100)*.01,e[2]=vr(yr(e[2],0),0,100)*.01;let n=_r(wt(e));return n[3]=t[4]===void 0?1:+vr(t[4],0,1),n}if(t=e.match(dr)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=wt(e);for(let e=0;e<3;e++)n[e]=gr(n[e]);return n[3]=+t[4],n}if(t=e.match(fr)){let e=t.slice(1,4);e[0]=vr(yr(e[0],0),0,100),e[1]=vr(yr(e[1],0),-125,125,!0),e[2]=vr(yr(e[2],0),-125,125,!0);let n=Re();Le(`d50`);let r=_r(ze(e));return Le(n),r[3]=t[4]===void 0?1:+vr(t[4],0,1),r}if(t=e.match(pr)){let e=t.slice(1,4);e[0]=vr(e[0],0,100),e[1]=vr(yr(e[1],0),0,150,!1),e[2]=+yr(e[2].replace(`deg`,``),0);let n=Re();Le(`d50`);let r=_r(rt(e));return Le(n),r[3]=t[4]===void 0?1:+vr(t[4],0,1),r}if(t=e.match(mr)){let e=t.slice(1,4);e[0]=vr(yr(e[0],0),0,1),e[1]=vr(yr(e[1],0),-.4,.4,!0),e[2]=vr(yr(e[2],0),-.4,.4,!0);let n=_r(jt(e));return n[3]=t[4]===void 0?1:+vr(t[4],0,1),n}if(t=e.match(hr)){let e=t.slice(1,4);e[0]=vr(yr(e[0],0),0,1),e[1]=vr(yr(e[1],0),0,.4,!1),e[2]=+yr(e[2].replace(`deg`,``),0);let n=_r(Zn(e));return n[3]=t[4]===void 0?1:+vr(t[4],0,1),n}};br.test=e=>or.test(e)||lr.test(e)||fr.test(e)||pr.test(e)||mr.test(e)||hr.test(e)||sr.test(e)||cr.test(e)||ur.test(e)||dr.test(e)||e===`transparent`,q.prototype.css=function(e){return Xn(this._rgb,e)},Oe.css=(...e)=>new q(...e,`css`),Ee.format.css=br,Ee.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&br.test(e))return`css`}}),Ee.format.gl=(...e)=>{let t=K(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},Oe.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 Pe(this._rgb,e)},Oe.hex=(...e)=>new q(...e,`hex`),Ee.format.hex=Me,Ee.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:xr}=Math,Sr=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*xr(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*xr(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*xr(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*xr(r),i=255),[n,r,i,1]},{round:Cr}=Math,wr=(...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=Sr(o);e[2]/e[0]>=r/n?a=o:i=o}return Cr(o)};q.prototype.temp=q.prototype.kelvin=q.prototype.temperature=function(){return wr(this._rgb)};var Tr=(...e)=>new q(...e,`temp`);Object.assign(Oe,{temp:Tr,kelvin:Tr,temperature:Tr}),Ee.format.temp=Ee.format.kelvin=Ee.format.temperature=Sr,q.prototype.oklch=function(){return qn(this._rgb)},Object.assign(Oe,{oklch:(...e)=>new q(...e,`oklch`)}),Ee.format.oklch=Zn,Ee.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklch`),G(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(Oe,{analyze:dn,average:Bt,bezier:qt,blend:Yt,brewer:zn,Color:q,colors:ke,contrast:pn,contrastAPCA:bn,cubehelix:tn,deltaE:Mn,distance:Nn,input:Ee,interpolate:$e,limits:fn,mix:$e,random:on,scale:Ut,scales:Fn,valid:Pn});var Er=Oe;function Dr(e,t){if(!Er.valid(e))return t;try{return Er(e)}catch{return t}}function Or(e){return Er.valid(e)&&Er.contrast(e,`#fff`)>=Er.contrast(e,`#333`)?`#fff`:`#333`}var kr=4.5;function Ar(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 jr(e,t=`#fff`){if(!Er.valid(e))return Er.valid(t)?Or(t):`#333`;let n=Er(e),r=Dr(t,Er(`#fff`));if(Er.contrast(n,r)>=kr)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Er.contrast(n,r)>=kr));e++);return n.hex()}var Mr=12,Nr=.25,Pr=20,Fr=15;function Ir(e,t){if(e.length===0)return[];let n=Dr(t,Er(`#fff`)),r=Er.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Er.valid(e)?Lr(Er(e),r,i):Er(`#000`));for(let e=1;e<a.length;e++)a[e]=Br(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Lr(e,t,n){for(let r=0;r<Pr;r++){if(Er.contrast(e,t)>=kr)return e;e=n?e.darken(Nr):e.brighten(Nr)}return e}function Rr(e,t){return t.reduce((t,n)=>Math.min(t,Er.deltaE(e,n)),1/0)}function*zr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Pr;e++)t=n?t.darken(Nr):t.brighten(Nr),yield t}for(let t=Fr;t<=180;t+=Fr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function Br(e,t,n,r){let i=e,a=Rr(e,t);if(a>=Mr)return e;for(let o of zr(e,r)){if(Er.contrast(o,n)<kr)continue;let e=Rr(o,t);if(e>a&&(i=o,a=e),a>=Mr)break}return i}var Vr=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}({}),Hr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),Ur=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Wr=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Gr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Kr=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),qr=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}({}),Jr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Yr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Xr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),Zr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Qr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),$r=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}({}),ei=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),ti=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),ni=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),ri=function(e){return e.None=`none`,e.Forward=`forward`,e.Backward=`backward`,e.Both=`both`,e}({}),ii=function(e){return e.Dumbbell=`dumbbell`,e.Range=`range`,e}({}),ai=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.Series=`series`,e.None=`none`,e.Value=`value`,e.Gap=`gap`,e.Change=`change`,e}({}),oi=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),si=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),ci=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),li=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),ui=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),di=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}({}),fi=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),pi=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}({}),mi=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}({}),hi=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),gi=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),_i=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}))})),vi=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)}}}))})),yi=l(_i(),1),bi=l(vi(),1);yi.default.extend(bi.default);var xi=[`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 Si(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 Ci(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function wi(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,yi.default)(t,`YYYY`,!0);return e.isValid()?Ci(e):null}for(let e of xi){if(e===`YYYY`)continue;let n=(0,yi.default)(t,e,!0);if(n.isValid())return Ci(n)}return null}function Ti(e){let t=e.trim();if(!t)return;let n=wi(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function Ei(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?wi(t)?.getTime():n}function Di(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,yi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(Ci(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of xi)e!==`YYYY`&&(0,yi.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,yi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(Ci(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:Si(n)}:null}function Oi(e){return typeof e==`string`?Ei(e):e}function ki(e,t){if(typeof e!=`string`)return e;let n=wi(e);return n?n.getTime():t?void 0:Ti(e)}function Ai(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=Di(e)!==null,r=ki(t.min,n),i=ki(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=Ti(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 ji(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function Mi(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===Ur.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=Oi(t?.min)??i,u=Oi(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 Ni(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 Pi(e,t){let n=e.domain().map(Number);if(!n.every(Number.isFinite))return t;let r=Math.min(...n),i=Math.max(...n);return t.filter(e=>Number(e)>=r&&Number(e)<=i)}function Fi(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Ii(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Li(e){let t,n,r;e.length===2?(t=e===Fi||e===Ii?e:Ri,n=e,r=e):(t=Fi,n=(t,n)=>Fi(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 Ri(){return 0}function zi(e){return e===null?NaN:+e}var Bi=Li(Fi),Vi=Bi.right;Bi.left;var Hi=Li(zi).center;function Ui(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 Wi=class extends Map{constructor(e,t=Ji){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(Gi(this,e))}has(e){return super.has(Gi(this,e))}set(e,t){return super.set(Ki(this,e),t)}delete(e){return super.delete(qi(this,e))}};function Gi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Ki({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function qi({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Ji(e){return typeof e==`object`&&e?e.valueOf():e}function Yi(e){return e}function Xi(e,...t){return Qi(e,Yi,Yi,t)}function Zi(e,t,...n){return Qi(e,Yi,t,n)}function Qi(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Wi,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 $i(e,t){return Array.from(t,t=>e[t])}function ea(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=na(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>na(n[e],n[t]))),$i(e,r)}return e.sort(ta(n))}function ta(e=Fi){if(e===Fi)return na;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 na(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var ra=Math.sqrt(50),ia=Math.sqrt(10),aa=Math.sqrt(2);function oa(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=ra?10:a>=ia?5:a>=aa?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?oa(e,t,n*2):[s,c,l]}function sa(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?oa(t,e,n):oa(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 ca(e,t,n){return t=+t,e=+e,n=+n,oa(e,t,n)[2]}function la(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?ca(t,e,n):ca(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ua(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 da(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 fa(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 pa(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 ma(e){return e}var ha=1,ga=2,_a=3,va=4,ya=1e-6;function ba(e){return`translate(`+e+`,0)`}function xa(e){return`translate(0,`+e+`)`}function Sa(e){return t=>+e(t)}function Ca(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function wa(){return!this.__axis}function Ta(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===ha||e===va?-1:1,u=e===va||e===ga?`x`:`y`,d=e===ha||e===_a?ba:xa;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):ma),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?Ca:Sa)(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===ha?`0em`:e===_a?`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`,ya).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ya).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===va||e===ga?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(wa).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ga?`start`:e===va?`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 Ea(e){return Ta(ha,e)}function Da(e){return Ta(ga,e)}function Oa(e){return Ta(_a,e)}function ka(e){return Ta(va,e)}var Aa={value:()=>{}};function ja(){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 Ma(n)}function Ma(e){this._=e}function Na(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}})}Ma.prototype=ja.prototype={constructor:Ma,on:function(e,t){var n=this._,r=Na(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Pa(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]=Fa(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Fa(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 Ma(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 Pa(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Fa(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Aa,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Ia={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 La(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Ia.hasOwnProperty(t)?{space:Ia[t],local:e}:e}function Ra(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 za(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ba(e){var t=La(e);return(t.local?za:Ra)(t)}function Va(){}function Ha(e){return e==null?Va:function(){return this.querySelector(e)}}function Ua(e){typeof e!=`function`&&(e=Ha(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 Ms(r,this._parents)}function Wa(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ga(){return[]}function Ka(e){return e==null?Ga:function(){return this.querySelectorAll(e)}}function qa(e){return function(){return Wa(e.apply(this,arguments))}}function Ja(e){e=typeof e==`function`?qa(e):Ka(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 Ms(r,i)}function Ya(e){return function(){return this.matches(e)}}function Xa(e){return function(t){return t.matches(e)}}var Za=Array.prototype.find;function Qa(e){return function(){return Za.call(this.children,e)}}function $a(){return this.firstElementChild}function eo(e){return this.select(e==null?$a:Qa(typeof e==`function`?e:Xa(e)))}var to=Array.prototype.filter;function no(){return Array.from(this.children)}function ro(e){return function(){return to.call(this.children,e)}}function io(e){return this.selectAll(e==null?no:ro(typeof e==`function`?e:Xa(e)))}function ao(e){typeof e!=`function`&&(e=Ya(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 Ms(r,this._parents)}function oo(e){return Array(e.length)}function so(){return new Ms(this._enter||this._groups.map(oo),this._parents)}function co(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}co.prototype={constructor:co,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 lo(e){return function(){return e}}function uo(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 co(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function fo(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 co(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function po(e){return e.__data__}function mo(e,t){if(!arguments.length)return Array.from(this,po);var n=t?fo:uo,r=this._parents,i=this._groups;typeof e!=`function`&&(e=lo(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=ho(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 Ms(o,r),o._enter=s,o._exit=c,o}function ho(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function go(){return new Ms(this._exit||this._groups.map(oo),this._parents)}function _o(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 vo(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 Ms(s,this._parents)}function yo(){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 bo(e){e||=xo;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 Ms(i,this._parents).order()}function xo(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function So(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Co(){return Array.from(this)}function wo(){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 To(){let e=0;for(let t of this)++e;return e}function Eo(){return!this.node()}function Do(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 Oo(e){return function(){this.removeAttribute(e)}}function ko(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ao(e,t){return function(){this.setAttribute(e,t)}}function jo(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Mo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function No(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 Po(e,t){var n=La(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?ko:Oo:typeof t==`function`?n.local?No:Mo:n.local?jo:Ao)(n,t))}function Fo(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Io(e){return function(){this.style.removeProperty(e)}}function Lo(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Ro(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function zo(e,t,n){return arguments.length>1?this.each((t==null?Io:typeof t==`function`?Ro:Lo)(e,t,n??``)):Bo(this.node(),e)}function Bo(e,t){return e.style.getPropertyValue(t)||Fo(e).getComputedStyle(e,null).getPropertyValue(t)}function Vo(e){return function(){delete this[e]}}function Ho(e,t){return function(){this[e]=t}}function Uo(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Wo(e,t){return arguments.length>1?this.each((t==null?Vo:typeof t==`function`?Uo:Ho)(e,t)):this.node()[e]}function Go(e){return e.trim().split(/^|\s+/)}function Ko(e){return e.classList||new qo(e)}function qo(e){this._node=e,this._names=Go(e.getAttribute(`class`)||``)}qo.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 Jo(e,t){for(var n=Ko(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Yo(e,t){for(var n=Ko(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Xo(e){return function(){Jo(this,e)}}function Zo(e){return function(){Yo(this,e)}}function Qo(e,t){return function(){(t.apply(this,arguments)?Jo:Yo)(this,e)}}function $o(e,t){var n=Go(e+``);if(arguments.length<2){for(var r=Ko(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?Xo:Zo)(n,t))}function es(){this.textContent=``}function ts(e){return function(){this.textContent=e}}function ns(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function rs(e){return arguments.length?this.each(e==null?es:(typeof e==`function`?ns:ts)(e)):this.node().textContent}function is(){this.innerHTML=``}function as(e){return function(){this.innerHTML=e}}function os(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function ss(e){return arguments.length?this.each(e==null?is:(typeof e==`function`?os:as)(e)):this.node().innerHTML}function cs(){this.nextSibling&&this.parentNode.appendChild(this)}function ls(){return this.each(cs)}function us(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ds(){return this.each(us)}function fs(e){var t=typeof e==`function`?e:Ba(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function ps(){return null}function ms(e,t){var n=typeof e==`function`?e:Ba(e),r=t==null?ps:typeof t==`function`?t:Ha(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function hs(){var e=this.parentNode;e&&e.removeChild(this)}function gs(){return this.each(hs)}function _s(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function vs(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ys(e){return this.select(e?vs:_s)}function bs(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function xs(e){return function(t){e.call(this,t,this.__data__)}}function Ss(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 Cs(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 ws(e,t,n){return function(){var r=this.__on,i,a=xs(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 Ts(e,t,n){var r=Ss(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?ws:Cs,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function Es(e,t,n){var r=Fo(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 Ds(e,t){return function(){return Es(this,e,t)}}function Os(e,t){return function(){return Es(this,e,t.apply(this,arguments))}}function ks(e,t){return this.each((typeof t==`function`?Os:Ds)(e,t))}function*As(){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 js=[null];function Ms(e,t){this._groups=e,this._parents=t}function Ns(){return new Ms([[document.documentElement]],js)}function Ps(){return this}Ms.prototype=Ns.prototype={constructor:Ms,select:Ua,selectAll:Ja,selectChild:eo,selectChildren:io,filter:ao,data:mo,enter:so,exit:go,join:_o,merge:vo,selection:Ps,order:yo,sort:bo,call:So,nodes:Co,node:wo,size:To,empty:Eo,each:Do,attr:Po,style:zo,property:Wo,classed:$o,text:rs,html:ss,raise:ls,lower:ds,append:fs,insert:ms,remove:gs,clone:ys,datum:bs,on:Ts,dispatch:ks,[Symbol.iterator]:As};function Q(e){return typeof e==`string`?new Ms([[document.querySelector(e)]],[document.documentElement]):new Ms([[e]],js)}function Fs(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Is(e,t){if(e=Fs(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 Ls(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Rs(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function zs(){}var Bs=.7,Vs=1/Bs,Hs=`\\s*([+-]?\\d+)\\s*`,Us=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Ws=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Gs=/^#([0-9a-f]{3,8})$/,Ks=RegExp(`^rgb\\(${Hs},${Hs},${Hs}\\)$`),qs=RegExp(`^rgb\\(${Ws},${Ws},${Ws}\\)$`),Js=RegExp(`^rgba\\(${Hs},${Hs},${Hs},${Us}\\)$`),Ys=RegExp(`^rgba\\(${Ws},${Ws},${Ws},${Us}\\)$`),Xs=RegExp(`^hsl\\(${Us},${Ws},${Ws}\\)$`),Zs=RegExp(`^hsla\\(${Us},${Ws},${Ws},${Us}\\)$`),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};Ls(zs,rc,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:$s,formatHex:$s,formatHex8:ec,formatHsl:tc,formatRgb:nc,toString:nc});function $s(){return this.rgb().formatHex()}function ec(){return this.rgb().formatHex8()}function tc(){return gc(this).formatHsl()}function nc(){return this.rgb().formatRgb()}function rc(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Gs.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?ic(t):n===3?new cc(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ac(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ac(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=Ks.exec(e))?new cc(t[1],t[2],t[3],1):(t=qs.exec(e))?new cc(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Js.exec(e))?ac(t[1],t[2],t[3],t[4]):(t=Ys.exec(e))?ac(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Xs.exec(e))?hc(t[1],t[2]/100,t[3]/100,1):(t=Zs.exec(e))?hc(t[1],t[2]/100,t[3]/100,t[4]):Qs.hasOwnProperty(e)?ic(Qs[e]):e===`transparent`?new cc(NaN,NaN,NaN,0):null}function ic(e){return new cc(e>>16&255,e>>8&255,e&255,1)}function ac(e,t,n,r){return r<=0&&(e=t=n=NaN),new cc(e,t,n,r)}function oc(e){return e instanceof zs||(e=rc(e)),e?(e=e.rgb(),new cc(e.r,e.g,e.b,e.opacity)):new cc}function sc(e,t,n,r){return arguments.length===1?oc(e):new cc(e,t,n,r??1)}function cc(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ls(cc,sc,Rs(zs,{brighter(e){return e=e==null?Vs:Vs**+e,new cc(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Bs:Bs**+e,new cc(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new cc(pc(this.r),pc(this.g),pc(this.b),fc(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:lc,formatHex:lc,formatHex8:uc,formatRgb:dc,toString:dc}));function lc(){return`#${mc(this.r)}${mc(this.g)}${mc(this.b)}`}function uc(){return`#${mc(this.r)}${mc(this.g)}${mc(this.b)}${mc((isNaN(this.opacity)?1:this.opacity)*255)}`}function dc(){let e=fc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${pc(this.r)}, ${pc(this.g)}, ${pc(this.b)}${e===1?`)`:`, ${e})`}`}function fc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function pc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function mc(e){return e=pc(e),(e<16?`0`:``)+e.toString(16)}function hc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new vc(e,t,n,r)}function gc(e){if(e instanceof vc)return new vc(e.h,e.s,e.l,e.opacity);if(e instanceof zs||(e=rc(e)),!e)return new vc;if(e instanceof vc)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 vc(o,s,c,e.opacity)}function _c(e,t,n,r){return arguments.length===1?gc(e):new vc(e,t,n,r??1)}function vc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ls(vc,_c,Rs(zs,{brighter(e){return e=e==null?Vs:Vs**+e,new vc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Bs:Bs**+e,new vc(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 cc(xc(e>=240?e-240:e+120,i,r),xc(e,i,r),xc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new vc(yc(this.h),bc(this.s),bc(this.l),fc(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=fc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${yc(this.h)}, ${bc(this.s)*100}%, ${bc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function yc(e){return e=(e||0)%360,e<0?e+360:e}function bc(e){return Math.max(0,Math.min(1,e||0))}function xc(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 Sc=e=>()=>e;function Cc(e,t){return function(n){return e+n*t}}function wc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Tc(e){return(e=+e)==1?Ec:function(t,n){return n-t?wc(t,n,e):Sc(isNaN(t)?n:t)}}function Ec(e,t){var n=t-e;return n?Cc(e,n):Sc(isNaN(e)?t:e)}var Dc=(function e(t){var n=Tc(t);function r(e,t){var r=n((e=sc(e)).r,(t=sc(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Ec(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 Oc(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 kc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ac(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]=zc(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 jc(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Mc(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Nc(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]=zc(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Pc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Fc=new RegExp(Pc.source,`g`);function Ic(e){return function(){return e}}function Lc(e){return function(t){return e(t)+``}}function Rc(e,t){var n=Pc.lastIndex=Fc.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Pc.exec(e))&&(i=Fc.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:Mc(r,i)})),n=Fc.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Lc(c[0].x):Ic(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 zc(e,t){var n=typeof t,r;return t==null||n===`boolean`?Sc(t):(n===`number`?Mc:n===`string`?(r=rc(t))?(t=r,Dc):Rc:t instanceof rc?Dc:t instanceof Date?jc:kc(t)?Oc:Array.isArray(t)?Ac:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Nc:Mc)(e,t)}function Bc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Vc=180/Math.PI,Hc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Uc(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)*Vc,skewX:Math.atan(c)*Vc,scaleX:o,scaleY:s}}var Wc;function Gc(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Hc:Uc(t.a,t.b,t.c,t.d,t.e,t.f)}function Kc(e){return e==null||(Wc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Wc.setAttribute(`transform`,e),!(e=Wc.transform.baseVal.consolidate()))?Hc:(e=e.matrix,Uc(e.a,e.b,e.c,e.d,e.e,e.f))}function qc(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:Mc(e,i)},{i:c-2,x:Mc(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:Mc(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:Mc(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:Mc(e,n)},{i:s-2,x:Mc(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 Jc=qc(Gc,`px, `,`px)`,`deg)`),Yc=qc(Kc,`, `,`)`,`)`),Xc=0,Zc=0,Qc=0,$c=1e3,el,tl,nl=0,rl=0,il=0,al=typeof performance==`object`&&performance.now?performance:Date,ol=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function sl(){return rl||=(ol(cl),al.now()+il)}function cl(){rl=0}function ll(){this._call=this._time=this._next=null}ll.prototype=ul.prototype={constructor:ll,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?sl():+n)+(t==null?0:+t),!this._next&&tl!==this&&(tl?tl._next=this:el=this,tl=this),this._call=e,this._time=n,hl()},stop:function(){this._call&&(this._call=null,this._time=1/0,hl())}};function ul(e,t,n){var r=new ll;return r.restart(e,t,n),r}function dl(){sl(),++Xc;for(var e=el,t;e;)(t=rl-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Xc}function fl(){rl=(nl=al.now())+il,Xc=Zc=0;try{dl()}finally{Xc=0,ml(),rl=0}}function pl(){var e=al.now(),t=e-nl;t>$c&&(il-=t,nl=e)}function ml(){for(var e,t=el,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:el=n);tl=e,hl(r)}function hl(e){Xc||(Zc&&=clearTimeout(Zc),e-rl>24?(e<1/0&&(Zc=setTimeout(fl,e-al.now()-il)),Qc&&=clearInterval(Qc)):(Qc||=(nl=al.now(),setInterval(pl,$c)),Xc=1,ol(fl)))}function gl(e,t,n){var r=new ll;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var _l=ja(`start`,`end`,`cancel`,`interrupt`),vl=[];function yl(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Cl(e,n,{name:t,index:r,group:i,on:_l,tween:vl,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function bl(e,t){var n=Sl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function xl(e,t){var n=Sl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Sl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Cl(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=ul(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 gl(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(gl(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 wl(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 Tl(e){return this.each(function(){wl(this,e)})}function El(e,t){var n,r;return function(){var i=xl(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 Dl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=xl(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 Ol(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Sl(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?El:Dl)(n,e,t))}function kl(e,t,n){var r=e._id;return e.each(function(){var e=xl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Sl(e,r).value[t]}}function Al(e,t){var n;return(typeof t==`number`?Mc:t instanceof rc?Dc:(n=rc(t))?(t=n,Dc):Rc)(e,t)}function jl(e){return function(){this.removeAttribute(e)}}function Ml(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Nl(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 Pl(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 Fl(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 Il(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 Ll(e,t){var n=La(e),r=n===`transform`?Yc:Al;return this.attrTween(e,typeof t==`function`?(n.local?Il:Fl)(n,r,kl(this,`attr.`+e,t)):t==null?(n.local?Ml:jl)(n):(n.local?Pl:Nl)(n,r,t))}function Rl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function zl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Bl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&zl(e,i)),n}return i._value=t,i}function Vl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Rl(e,i)),n}return i._value=t,i}function Hl(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=La(e);return this.tween(n,(r.local?Bl:Vl)(r,t))}function Ul(e,t){return function(){bl(this,e).delay=+t.apply(this,arguments)}}function Wl(e,t){return t=+t,function(){bl(this,e).delay=t}}function Gl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Ul:Wl)(t,e)):Sl(this.node(),t).delay}function Kl(e,t){return function(){xl(this,e).duration=+t.apply(this,arguments)}}function ql(e,t){return t=+t,function(){xl(this,e).duration=t}}function Jl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Kl:ql)(t,e)):Sl(this.node(),t).duration}function Yl(e,t){if(typeof t!=`function`)throw Error();return function(){xl(this,e).ease=t}}function Xl(e){var t=this._id;return arguments.length?this.each(Yl(t,e)):Sl(this.node(),t).ease}function Zl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();xl(this,e).ease=n}}function Ql(e){if(typeof e!=`function`)throw Error();return this.each(Zl(this._id,e))}function $l(e){typeof e!=`function`&&(e=Ya(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 Ou(r,this._parents,this._name,this._id)}function eu(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 Ou(o,this._parents,this._name,this._id)}function tu(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 nu(e,t,n){var r,i,a=tu(t)?bl:xl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function ru(e,t){var n=this._id;return arguments.length<2?Sl(this.node(),n).on.on(e):this.each(nu(n,e,t))}function iu(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function au(){return this.on(`end.remove`,iu(this._id))}function ou(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ha(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,yl(l[f],t,n,f,l,Sl(u,n)));return new Ou(a,this._parents,t,n)}function su(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ka(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=Sl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&yl(p,t,n,h,f,m);a.push(f),o.push(u)}return new Ou(a,o,t,n)}var cu=Ns.prototype.constructor;function lu(){return new cu(this._groups,this._parents)}function uu(e,t){var n,r,i;return function(){var a=Bo(this,e),o=(this.style.removeProperty(e),Bo(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function du(e){return function(){this.style.removeProperty(e)}}function fu(e,t,n){var r,i=n+``,a;return function(){var o=Bo(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function pu(e,t,n){var r,i,a;return function(){var o=Bo(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Bo(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function mu(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=xl(this,e),l=c.on,u=c.value[a]==null?s||=du(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function hu(e,t,n){var r=(e+=``)==`transform`?Jc:Al;return t==null?this.styleTween(e,uu(e,r)).on(`end.style.`+e,du(e)):typeof t==`function`?this.styleTween(e,pu(e,r,kl(this,`style.`+e,t))).each(mu(this._id,e)):this.styleTween(e,fu(e,r,t),n).on(`end.style.`+e,null)}function gu(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function _u(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&gu(e,a,n)),r}return a._value=t,a}function vu(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,_u(e,t,n??``))}function yu(e){return function(){this.textContent=e}}function bu(e){return function(){var t=e(this);this.textContent=t??``}}function xu(e){return this.tween(`text`,typeof e==`function`?bu(kl(this,`text`,e)):yu(e==null?``:e+``))}function Su(e){return function(t){this.textContent=e.call(this,t)}}function Cu(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Su(r)),t}return r._value=e,r}function wu(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,Cu(e))}function Tu(){for(var e=this._name,t=this._id,n=Au(),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=Sl(c,t);yl(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ou(r,this._parents,e,n)}function Eu(){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=xl(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 Du=0;function Ou(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function ku(e){return Ns().transition(e)}function Au(){return++Du}var ju=Ns.prototype;Ou.prototype=ku.prototype={constructor:Ou,select:ou,selectAll:su,selectChild:ju.selectChild,selectChildren:ju.selectChildren,filter:$l,merge:eu,selection:lu,transition:Tu,call:ju.call,nodes:ju.nodes,node:ju.node,size:ju.size,empty:ju.empty,each:ju.each,on:ru,attr:Ll,attrTween:Hl,style:hu,styleTween:vu,text:xu,textTween:wu,remove:au,tween:Ol,delay:Gl,duration:Jl,ease:Xl,easeVarying:Ql,end:Eu,[Symbol.iterator]:ju[Symbol.iterator]};function Mu(e){return--e*e*e+1}function Nu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Pu={time:null,delay:0,duration:250,ease:Nu};function Fu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Iu(e){var t,n;e instanceof Ou?(t=e._id,e=e._name):(t=Au(),(n=Pu).time=sl(),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])&&yl(c,e,t,l,o,n||Fu(c,t));return new Ou(r,this._parents,e,t)}Ns.prototype.interrupt=Tl,Ns.prototype.transition=Iu;var Lu=[null];function Ru(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 Ou([[e]],Lu,t,+i)}return null}var{abs:zu,max:Bu,min:Vu}=Math;[`w`,`e`].map(Hu),[`n`,`s`].map(Hu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Hu);function Hu(e){return{type:e}}var Uu=Math.PI,Wu=2*Uu,Gu=1e-6,Ku=Wu-Gu;function qu(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Ju(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return qu;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 Yu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?qu:Ju(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>Gu){if(!(Math.abs(u*s-c*l)>Gu)||!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((Uu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Gu&&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)>Gu||Math.abs(this._y1-l)>Gu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Wu+Wu),d>Ku?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>Gu&&this._append`A${n},${n},0,${+(d>=Uu)},${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._}};Yu.prototype;var Xu=11102230246251565e-32,Zu=134217729,Qu=3.000000000000001*Xu;function $u(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 ed(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 td=(3+16*Xu)*Xu,nd=(2+12*Xu)*Xu,rd=(9+64*Xu)*Xu*Xu,id=$(4),ad=$(8),od=$(12),sd=$(16),cd=$(4);function ld(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=Zu*T,p=f-(f-T),m=T-p,f=Zu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Zu*D,p=f-(f-D),m=D-p,f=Zu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,id[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,id[1]=y-(_+d)+(d-S),w=v+_,d=w-v,id[2]=v-(w-d)+(_-d),id[3]=w;let k=ed(4,id),A=nd*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=rd*o+Qu*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Zu*s,p=f-(f-s),m=s-p,f=Zu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Zu*c,p=f-(f-c),m=c-p,f=Zu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,cd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,cd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,cd[2]=v-(w-d)+(_-d),cd[3]=w;let j=$u(4,id,4,cd,ad);b=T*u,f=Zu*T,p=f-(f-T),m=T-p,f=Zu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Zu*D,p=f-(f-D),m=D-p,f=Zu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,cd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,cd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,cd[2]=v-(w-d)+(_-d),cd[3]=w;let M=$u(j,ad,4,cd,od);return b=s*u,f=Zu*s,p=f-(f-s),m=s-p,f=Zu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Zu*c,p=f-(f-c),m=c-p,f=Zu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,cd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,cd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,cd[2]=v-(w-d)+(_-d),cd[3]=w,sd[$u(M,od,4,cd,sd)-1]}function ud(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)>=td*l?c:-ld(e,t,n,r,i,a,l)}(7+56*Xu)*Xu,(3+28*Xu)*Xu,(26+288*Xu)*Xu*Xu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Xu)*Xu,(4+48*Xu)*Xu,(44+576*Xu)*Xu*Xu,$(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*Xu)*Xu,(5+72*Xu)*Xu,(71+1408*Xu)*Xu*Xu,$(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 dd=2**-52,fd=new Uint32Array(512),pd=class e{static from(t,n=xd,r=Sd){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=hd(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=hd(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=_d(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];yd(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(ud(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=vd(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=hd(e[2*t],e[2*t+1],S.x,S.y);yd(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)<=dd&&Math.abs(u-s)<=dd||(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],ud(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],ud(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],ud(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(md(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=fd[--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(gd(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<fd.length&&(fd[i++]=s)}else{if(i===0)break;e=fd[--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 md(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function hd(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function gd(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 _d(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 vd(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 yd(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;bd(e,i,a),t[e[n]]>t[e[r]]&&bd(e,n,r),t[e[a]]>t[e[r]]&&bd(e,a,r),t[e[n]]>t[e[a]]&&bd(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;bd(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(yd(e,t,a,r),yd(e,t,n,o-1)):(yd(e,t,n,o-1),yd(e,t,a,r))}}function bd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function xd(e){return e[0]}function Sd(e){return e[1]}var Cd=1e-6,wd=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)>Cd||Math.abs(this._y1-i)>Cd)&&(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}},Td=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}},Ed=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 wd: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 wd: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 wd: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 Td;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}},Dd=2*Math.PI,Od=Math.pow;function kd(e){return e[0]}function Ad(e){return e[1]}function jd(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 Md(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var Nd=class e{static from(t,n=kd,r=Ad,i){return new e(`length`in t?Pd(t,n,r,i):Float64Array.from(Fd(t,n,r,i)))}constructor(e){this._delaunator=new pd(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&&jd(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=Md(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new pd(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 Ed(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=Od(t-c[e*2],2)+Od(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=Od(t-c[r*2],2)+Od(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&&Od(t-c[f*2],2)+Od(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new wd: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 wd: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,Dd)}return n&&n.value()}renderHull(e){let t=e==null?e=new wd: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 Td;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new wd: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 Td;return this.renderTriangle(e,t),t.value()}};function Pd(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*Fd(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}var Id={},Ld={},Rd=34,zd=10,Bd=13;function Vd(e){return Function(`d`,`return {`+e.map(function(e,t){return JSON.stringify(e)+`: d[`+t+`] || ""`}).join(`,`)+`}`)}function Hd(e,t){var n=Vd(e);return function(r,i){return t(n(r),i,e)}}function Ud(e){var t=Object.create(null),n=[];return e.forEach(function(e){for(var r in e)r in t||n.push(t[r]=r)}),n}function Wd(e,t){var n=e+``,r=n.length;return r<t?Array(t-r+1).join(0)+n:n}function Gd(e){return e<0?`-`+Wd(-e,6):e>9999?`+`+Wd(e,6):Wd(e,4)}function Kd(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?`Invalid Date`:Gd(e.getUTCFullYear(),4)+`-`+Wd(e.getUTCMonth()+1,2)+`-`+Wd(e.getUTCDate(),2)+(i?`T`+Wd(t,2)+`:`+Wd(n,2)+`:`+Wd(r,2)+`.`+Wd(i,3)+`Z`:r?`T`+Wd(t,2)+`:`+Wd(n,2)+`:`+Wd(r,2)+`Z`:n||t?`T`+Wd(t,2)+`:`+Wd(n,2)+`Z`:``)}function qd(e){var t=RegExp(`["`+e+`
316
+ \r]`),n=e.charCodeAt(0);function r(e,t){var n,r,a=i(e,function(e,i){if(n)return n(e,i-1);r=e,n=t?Hd(e,t):Vd(e)});return a.columns=r||[],a}function i(e,t){var r=[],i=e.length,a=0,o=0,s,c=i<=0,l=!1;e.charCodeAt(i-1)===zd&&--i,e.charCodeAt(i-1)===Bd&&--i;function u(){if(c)return Ld;if(l)return l=!1,Id;var t,r=a,o;if(e.charCodeAt(r)===Rd){for(;a++<i&&e.charCodeAt(a)!==Rd||e.charCodeAt(++a)===Rd;);return(t=a)>=i?c=!0:(o=e.charCodeAt(a++))===zd?l=!0:o===Bd&&(l=!0,e.charCodeAt(a)===zd&&++a),e.slice(r+1,t-1).replace(/""/g,`"`)}for(;a<i;){if((o=e.charCodeAt(t=a++))===zd)l=!0;else if(o===Bd)l=!0,e.charCodeAt(a)===zd&&++a;else if(o!==n)continue;return e.slice(r,t)}return c=!0,e.slice(r,i)}for(;(s=u())!==Ld;){for(var d=[];s!==Id&&s!==Ld;)d.push(s),s=u();t&&(d=t(d,o++))==null||r.push(d)}return r}function a(t,n){return t.map(function(t){return n.map(function(e){return u(t[e])}).join(e)})}function o(t,n){return n??=Ud(t),[n.map(u).join(e)].concat(a(t,n)).join(`
317
+ `)}function s(e,t){return t??=Ud(e),a(e,t).join(`
318
318
  `)}function c(e){return e.map(l).join(`
319
- `)}function l(t){return t.map(u).join(e)}function u(e){return e==null?``:e instanceof Date?Gd(e):t.test(e+=``)?`"`+e.replace(/"/g,`""`)+`"`:e}return{parse:r,parseRows:i,format:o,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}var qd=Kd(`,`);qd.parse,qd.parseRows,qd.format,qd.formatBody;var Jd=qd.formatRows;qd.formatRow,qd.formatValue;function Yd(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Xd(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 Zd(e){return e=Xd(Math.abs(e)),e?e[1]:NaN}function Qd(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 $d(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var ef=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function tf(e){if(!(t=ef.exec(e)))throw Error(`invalid format: `+e);var t;return new nf({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]})}tf.prototype=nf.prototype;function nf(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+``}nf.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 rf(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 af;function of(e,t){var n=Xd(e,t);if(!n)return af=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(af=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`)+Xd(e,Math.max(0,t+a-1))[0]}function sf(e,t){var n=Xd(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 cf={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Yd,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)=>sf(e*100,t),r:sf,s:of,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function lf(e){return e}var uf=Array.prototype.map,df=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function ff(e){var t=e.grouping===void 0||e.thousands===void 0?lf:Qd(uf.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?lf:$d(uf.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=tf(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`):cf[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=cf[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=rf(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&af!==void 0?df[8+af/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(Zd(t)/3)))*3,r=10**-n,i=l((e=tf(e),e.type=`f`,e),{suffix:df[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var pf,mf,hf;gf({thousands:`,`,grouping:[3],currency:[`$`,``]});function gf(e){return pf=ff(e),mf=pf.format,hf=pf.formatPrefix,pf}function _f(e){return Math.max(0,-Zd(Math.abs(e)))}function vf(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Zd(t)/3)))*3-Zd(Math.abs(e)))}function yf(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Zd(t)-Zd(e))+1}function bf(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var xf=Symbol(`implicit`);function Sf(){var e=new Ui,t=[],n=[],r=xf;function i(i){let a=e.get(i);if(a===void 0){if(r!==xf)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 Ui;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 Sf(t,n).unknown(r)},bf.apply(i,arguments),i}function Cf(){var e=Sf().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=da(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 Cf(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},bf.apply(d(),arguments)}function wf(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return wf(t())},e}function Tf(){return wf(Cf.apply(null,arguments).paddingInner(1))}function Ef(e){return function(){return e}}function Df(e){return+e}var Of=[0,1];function kf(e){return e}function Af(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Ef(isNaN(t)?NaN:.5)}function jf(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=Af(i,r),a=n(o,a)):(r=Af(r,i),a=n(a,o)),function(e){return a(r(e))}}function Nf(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]=Af(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Bi(e,t,1,r)-1;return a[n](i[n](t))}}function Pf(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Ff(){var e=Of,t=Of,n=Rc,r,i,a,o=kf,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==kf&&(o=jf(e[0],e[n-1])),s=n>2?Nf: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),jc))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,Df),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=zc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:kf,u()):o!==kf},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 If(){return Ff()(kf,kf)}function Lf(e,t,n,r){var i=ca(e,t,n),a;switch(r=tf(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=vf(i,o))&&(r.precision=a),hf(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=yf(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=_f(i))&&(r.precision=a-(r.type===`%`)*2)}return mf(r)}function Rf(e){var t=e.domain;return e.ticks=function(e){var n=t();return oa(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Lf(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=sa(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 zf(){var e=If();return e.copy=function(){return Pf(e,zf())},bf.apply(e,arguments),Rf(e)}function Bf(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 Vf(e){return Math.log(e)}function Hf(e){return Math.exp(e)}function Uf(e){return-Math.log(-e)}function Wf(e){return-Math.exp(-e)}function Gf(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function Kf(e){return e===10?Gf:e===Math.E?Math.exp:t=>e**+t}function qf(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 Jf(e){return(t,n)=>-e(-t,n)}function Yf(e){let t=e(Vf,Hf),n=t.domain,r=10,i,a;function o(){return i=qf(r),a=Kf(r),n()[0]<0?(i=Jf(i),a=Jf(a),e(Uf,Wf)):e(Vf,Hf),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=oa(o,s,p))}else m=oa(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=tf(n)).precision==null&&(n.trim=!0),n=mf(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(Bf(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function Xf(){let e=Yf(Ff()).domain([1,10]);return e.copy=()=>Pf(e,Xf()).base(e.base()),bf.apply(e,arguments),e}function Zf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Qf(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function $f(e){var t=1,n=e(Zf(t),Qf(t));return n.constant=function(n){return arguments.length?e(Zf(t=+n),Qf(t)):t},Rf(n)}function ep(){var e=$f(Ff());return e.copy=function(){return Pf(e,ep()).constant(e.constant())},bf.apply(e,arguments)}function tp(e){return function(t){return t<0?-((-t)**+e):t**+e}}function np(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function rp(e){return e<0?-e*e:e*e}function ip(e){var t=e(kf,kf),n=1;function r(){return n===1?e(kf,kf):n===.5?e(np,rp):e(tp(n),tp(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},Rf(t)}function ap(){var e=ip(Ff());return e.copy=function(){return Pf(e,ap()).exponent(e.exponent())},bf.apply(e,arguments),e}function op(){return ap.apply(null,arguments).exponent(.5)}var sp=new Date,cp=new Date;function lp(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=>lp(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)=>(sp.setTime(+t),cp.setTime(+r),e(sp),e(cp),Math.floor(n(sp,cp))),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 up=6e4,dp=up*60*24,fp=dp*7;dp*30,dp*365;var pp=lp(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*up)/dp,e=>e.getDate()-1);pp.range;var mp=lp(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/dp,e=>e.getUTCDate()-1);mp.range,lp(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/dp,e=>Math.floor(e/dp)).range;function hp(e){return lp(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())*up)/fp)}var gp=hp(0),_p=hp(1),vp=hp(2),yp=hp(3),bp=hp(4),xp=hp(5),Sp=hp(6);gp.range,_p.range,vp.range,yp.range,bp.range,xp.range,Sp.range;function Cp(e){return lp(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)/fp)}var wp=Cp(0),Tp=Cp(1),Ep=Cp(2),Dp=Cp(3),Op=Cp(4),kp=Cp(5),Ap=Cp(6);wp.range,Tp.range,Ep.range,Dp.range,Op.range,kp.range,Ap.range;var jp=lp(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());jp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:lp(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)}),jp.range;var Mp=lp(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:lp(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 Np(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 Pp(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 Fp(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Ip(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=Up(i),u=Wp(i),d=Up(a),f=Wp(a),p=Up(o),m=Wp(o),h=Up(s),g=Wp(s),_=Up(c),v=Wp(c),y={a:N,A:P,b:F,B:I,c:null,d:dm,e:dm,f:gm,g:Dm,G:km,H:fm,I:pm,j:mm,L:hm,m:_m,M:vm,p:L,q:R,Q:Qm,s:$m,S:ym,u:bm,U:xm,V:Cm,w:wm,W:Tm,x:null,X:null,y:Em,Y:Om,Z:Am,"%":Zm},b={a:z,A:B,b:V,B:H,c:null,d:jm,e:jm,f:Im,g:qm,G:Ym,H:Mm,I:Nm,j:Pm,L:Fm,m:Lm,M:Rm,p:ee,q:U,Q:Qm,s:$m,S:zm,u:Bm,U:Vm,V:Um,w:Wm,W:Gm,x:null,X:null,y:Km,Y:Jm,Z:Xm,"%":Zm},x={a:E,A:D,b:O,B:k,c:A,d:tm,e:tm,f:sm,g:Zp,G:Xp,H:rm,I:rm,j:nm,L:om,m:em,M:im,p:T,q:$p,Q:lm,s:um,S:am,u:Kp,U:qp,V:Jp,w:Gp,W:Yp,x:j,X:M,y:Zp,Y:Xp,Z:Qp,"%":cm};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=Lp[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=Fp(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=Pp(Fp(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?Tp.ceil(a):Tp(a),a=mp.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Np(Fp(r.y,0,1)),o=a.getDay(),a=o>4||o===0?_p.ceil(a):_p(a),a=pp.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?Pp(Fp(r.y,0,1)).getUTCDay():Np(Fp(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,Pp(r)):Np(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 Lp?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 Lp={"-":``,_:` `,0:`0`},Rp=/^\s*\d+/,zp=/^%/,Bp=/[\\^$*+?|[\]().{}]/g;function Vp(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 Hp(e){return e.replace(Bp,`\\$&`)}function Up(e){return RegExp(`^(?:`+e.map(Hp).join(`|`)+`)`,`i`)}function Wp(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Gp(e,t,n){var r=Rp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Kp(e,t,n){var r=Rp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function qp(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Jp(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Yp(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Xp(e,t,n){var r=Rp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Zp(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Qp(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 $p(e,t,n){var r=Rp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function em(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function tm(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function nm(e,t,n){var r=Rp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function rm(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function im(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function am(e,t,n){var r=Rp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function om(e,t,n){var r=Rp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function sm(e,t,n){var r=Rp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function cm(e,t,n){var r=zp.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function lm(e,t,n){var r=Rp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function um(e,t,n){var r=Rp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function dm(e,t){return Vp(e.getDate(),t,2)}function fm(e,t){return Vp(e.getHours(),t,2)}function pm(e,t){return Vp(e.getHours()%12||12,t,2)}function mm(e,t){return Vp(1+pp.count(jp(e),e),t,3)}function hm(e,t){return Vp(e.getMilliseconds(),t,3)}function gm(e,t){return hm(e,t)+`000`}function _m(e,t){return Vp(e.getMonth()+1,t,2)}function vm(e,t){return Vp(e.getMinutes(),t,2)}function ym(e,t){return Vp(e.getSeconds(),t,2)}function bm(e){var t=e.getDay();return t===0?7:t}function xm(e,t){return Vp(gp.count(jp(e)-1,e),t,2)}function Sm(e){var t=e.getDay();return t>=4||t===0?bp(e):bp.ceil(e)}function Cm(e,t){return e=Sm(e),Vp(bp.count(jp(e),e)+(jp(e).getDay()===4),t,2)}function wm(e){return e.getDay()}function Tm(e,t){return Vp(_p.count(jp(e)-1,e),t,2)}function Em(e,t){return Vp(e.getFullYear()%100,t,2)}function Dm(e,t){return e=Sm(e),Vp(e.getFullYear()%100,t,2)}function Om(e,t){return Vp(e.getFullYear()%1e4,t,4)}function km(e,t){var n=e.getDay();return e=n>=4||n===0?bp(e):bp.ceil(e),Vp(e.getFullYear()%1e4,t,4)}function Am(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Vp(t/60|0,`0`,2)+Vp(t%60,`0`,2)}function jm(e,t){return Vp(e.getUTCDate(),t,2)}function Mm(e,t){return Vp(e.getUTCHours(),t,2)}function Nm(e,t){return Vp(e.getUTCHours()%12||12,t,2)}function Pm(e,t){return Vp(1+mp.count(Mp(e),e),t,3)}function Fm(e,t){return Vp(e.getUTCMilliseconds(),t,3)}function Im(e,t){return Fm(e,t)+`000`}function Lm(e,t){return Vp(e.getUTCMonth()+1,t,2)}function Rm(e,t){return Vp(e.getUTCMinutes(),t,2)}function zm(e,t){return Vp(e.getUTCSeconds(),t,2)}function Bm(e){var t=e.getUTCDay();return t===0?7:t}function Vm(e,t){return Vp(wp.count(Mp(e)-1,e),t,2)}function Hm(e){var t=e.getUTCDay();return t>=4||t===0?Op(e):Op.ceil(e)}function Um(e,t){return e=Hm(e),Vp(Op.count(Mp(e),e)+(Mp(e).getUTCDay()===4),t,2)}function Wm(e){return e.getUTCDay()}function Gm(e,t){return Vp(Tp.count(Mp(e)-1,e),t,2)}function Km(e,t){return Vp(e.getUTCFullYear()%100,t,2)}function qm(e,t){return e=Hm(e),Vp(e.getUTCFullYear()%100,t,2)}function Jm(e,t){return Vp(e.getUTCFullYear()%1e4,t,4)}function Ym(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Op(e):Op.ceil(e),Vp(e.getUTCFullYear()%1e4,t,4)}function Xm(){return`+0000`}function Zm(){return`%`}function Qm(e){return+e}function $m(e){return Math.floor(e/1e3)}var eh,th;nh({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 nh(e){return eh=Ip(e),th=eh.format,eh.parse,eh.utcFormat,eh.utcParse,eh}function rh(e){return function(){return e}}var ih=Math.abs,ah=Math.atan2,oh=Math.cos,sh=Math.max,ch=Math.min,lh=Math.sin,uh=Math.sqrt,dh=Math.PI,fh=dh/2,ph=2*dh;function mh(e){return e>1?0:e<-1?dh:Math.acos(e)}function hh(e){return e>=1?fh:e<=-1?-fh:Math.asin(e)}function gh(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 Ju(t)}function _h(e){return e.innerRadius}function vh(e){return e.outerRadius}function yh(e){return e.startAngle}function bh(e){return e.endAngle}function xh(e){return e&&e.padAngle}function Sh(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 Ch(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/uh(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)*uh(sh(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 wh(){var e=_h,t=vh,n=rh(0),r=null,i=yh,a=bh,o=xh,s=null,c=gh(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-fh,m=a.apply(this,arguments)-fh,h=ih(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>ph-1e-12)s.moveTo(f*oh(p),f*lh(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*oh(m),d*lh(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):uh(d*d+f*f)),T=ch(ih(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=hh(w/d*lh(C)),j=hh(w/f*lh(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*oh(_),N=f*lh(_),P=d*oh(b),F=d*lh(b);if(T>1e-12){var I=f*oh(v),L=f*lh(v),R=d*oh(y),z=d*lh(y),B;if(h<dh){if(B=Sh(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/lh(mh((V*ee+H*U)/(uh(V*V+H*H)*uh(ee*ee+U*U)))/2),ne=uh(B[0]*B[0]+B[1]*B[1]);E=ch(T,(d-ne)/(te-1)),D=ch(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=Ch(R,z,M,N,f,D,g),k=Ch(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,ah(O.y01,O.x01),ah(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,ah(O.y01,O.x01),ah(O.y11,O.x11),!g),s.arc(0,0,f,ah(O.cy+O.y11,O.cx+O.x11),ah(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,ah(k.y11,k.x11),ah(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=Ch(P,F,I,L,d,-E,g),k=Ch(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,ah(O.y01,O.x01),ah(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,ah(O.y01,O.x01),ah(O.y11,O.x11),!g),s.arc(0,0,d,ah(O.cy+O.y11,O.cx+O.x11),ah(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,ah(k.y11,k.x11),ah(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-dh/2;return[oh(r)*n,lh(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:rh(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:rh(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:rh(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:rh(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:rh(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:rh(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:rh(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function Th(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Eh(e){this._context=e}Eh.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 Dh(e){return new Eh(e)}function Oh(e){return e[0]}function kh(e){return e[1]}function Ah(e,t){var n=rh(!0),r=null,i=Dh,a=null,o=gh(s);e=typeof e==`function`?e:e===void 0?Oh:rh(e),t=typeof t==`function`?t:t===void 0?kh:rh(t);function s(s){var c,l=(s=Th(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:rh(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:rh(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:rh(!!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 jh(e,t,n){var r=null,i=rh(!0),a=null,o=Dh,s=null,c=gh(l);e=typeof e==`function`?e:e===void 0?Oh:rh(+e),t=typeof t==`function`?t:rh(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?kh:rh(+n);function l(l){var u,d,f,p=(l=Th(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 Ah().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:rh(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:rh(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:rh(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:rh(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:rh(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:rh(+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:rh(!!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 Nh(e){return e}function Ph(){var e=Nh,t=Mh,n=null,r=rh(0),i=rh(ph),a=rh(0);function o(o){var s,c=(o=Th(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(ph,Math.max(-ph,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:rh(+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:rh(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:rh(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:rh(+e),o):a},o}var Fh={draw(e,t){let n=uh(t/dh);e.moveTo(n,0),e.arc(0,0,n,0,ph)}},Ih={draw(e,t){let n=uh(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()}},Lh=uh(1/3),Rh=Lh*2,zh={draw(e,t){let n=uh(t/Rh),r=n*Lh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Bh={draw(e,t){let n=uh(t),r=-n/2;e.rect(r,r,n,n)}},Vh=.8908130915292852,Hh=lh(dh/10)/lh(7*dh/10),Uh=lh(ph/10)*Hh,Wh=-oh(ph/10)*Hh,Gh={draw(e,t){let n=uh(t*Vh),r=Uh*n,i=Wh*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=ph*t/5,o=oh(a),s=lh(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},Kh=uh(3),qh={draw(e,t){let n=-uh(t/(Kh*3));e.moveTo(0,n*2),e.lineTo(-Kh*n,-n),e.lineTo(Kh*n,-n),e.closePath()}},Jh=uh(3),Yh={draw(e,t){let n=uh(t)*.6824,r=n/2,i=n*Jh/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function Xh(e,t){let n=null,r=gh(i);e=typeof e==`function`?e:rh(e||Fh),t=typeof t==`function`?t:rh(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:rh(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:rh(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Zh(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 Qh(e){this._context=e}Qh.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:Zh(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:Zh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $h(e){return new Qh(e)}function eg(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 tg(e,t){this._context=e,this._k=(1-t)/6}tg.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:eg(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:eg(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 ng=(function e(t){function n(e){return new tg(e,t)}return n.tension=function(t){return e(+t)},n})(0);function rg(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 ig(e,t){this._context=e,this._alpha=t}ig.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:rg(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 ag=(function e(t){function n(e){return t?new ig(e,t):new tg(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function og(e){return e<0?-1:1}function sg(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(og(a)+og(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function cg(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function lg(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 ug(e){this._context=e}ug.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:lg(this,this._t0,cg(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,lg(this,cg(this,n=sg(this,e,t)),n);break;default:lg(this,this._t0,n=sg(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(ug.prototype).point=function(e,t){ug.prototype.point.call(this,t,e)};function dg(e){return new ug(e)}function fg(e,t){this._context=e,this._t=t}fg.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 pg(e){return new fg(e,.5)}function mg(e){return new fg(e,0)}function hg(e){return new fg(e,1)}function gg(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 _g(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function vg(e,t){return e[t]}function yg(e){let t=[];return t.key=e,t}function bg(){var e=rh([]),t=_g,n=gg,r=vg;function i(i){var a=Array.from(e.apply(this,arguments),yg),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=Th(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:rh(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:rh(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?_g:typeof e==`function`?e:rh(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??gg,i):n},i}function xg(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 Sg(e,t,n){this.k=e,this.x=t,this.y=n}Sg.prototype={constructor:Sg,scale:function(e){return e===1?this:new Sg(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Sg(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 Cg=new Sg(1,0,0);wg.prototype=Sg.prototype;function wg(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Cg;return e.__zoom}function Tg(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var Eg=class{properties=new Map;define(e,t){Tg(!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 Tg(t,`config "${e}" is not defined`),t}},Dg=[`update`,`enter`,`merge`,`exit`],Og=new Set([...Dg,...Dg.map(e=>`${e}:transition`)]);function kg(e){return Og.has(e)}function Ag(e){Tg(kg(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...Og].join(`, `)}`)}function jg(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return Dg.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 Ng(e,t){return t.map(t=>{let n=e.transition();return t(n),Pg(n)})}function Pg(e){return e.end().then(()=>void 0,()=>void 0)}var Fg=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){Ag(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(Ag(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=jg(t,this.insertFn(n),this.handlers),i=[];for(let e of r){Mg(e.selection,e.handlers);let t=Ng(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function Ig(e,t,n,r){if(n&&r){let i=new Fg(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 Lg(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 Rg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function zg(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var Bg=[`preDraw`,`postDraw`,`postTransition`],Vg=class{base;layers=new Map;attachments=new Map;configs=new Eg;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=Aa(...Bg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return Ig(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 Lg(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=Rg(this.layers,t),r=zg(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()}},Hg=class extends Vg{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,e.download&&(t.download=e.download),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,e.download&&(t.download=e.download),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 Ug(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 Wg(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}),e.getTheData&&e.data&&t.push({tag:`span`,className:`bc-frame-get-the-data`,text:`Get the data`,href:`data:text/csv;charset=utf-8,${encodeURIComponent(Gg(e.data))}`,download:`data.csv`}),t}function Gg(e){let t=e.series??[{name:`Value`,values:e.values}],n=e.textColumns??[];return Jd([[`Label`,...t.map(e=>e.name),...n.map(e=>e.name)],...e.labels.map((e,r)=>[e,...t.map(e=>e.values[r]),...n.map(e=>e.values[r])].map(e=>String(e??``)))])}function Kg(){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 qg=80,Jg=`.bc-frame-title, .bc-frame-description`;function Yg(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function Xg(e){e.querySelectorAll(Jg).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function Zg(e,t){let n=[...e.querySelectorAll(Jg)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/Yg(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 Qg(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function $g(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new Hg(Q(e)).draw({headerItems:Ug(n),footerLeftItems:Wg(n),footerRightItems:Kg()});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]=Qg(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){Xg(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-qg;t>l&&(Zg(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 e_(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function t_(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:e_(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:e_(e),suffix:``}}function n_(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=t_(e);if(!n)return null;let i=mf(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function r_(e,t){return(n_(t??``)??String)(e)}function i_(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var a_=`http://www.w3.org/2000/svg`,o_=`system-ui, -apple-system, sans-serif`,s_=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,c_=1,l_=.5,u_=null,d_=null;function f_(e,t){let n=0;for(let t of e)n+=s_.test(t)?c_:l_;return n*t}function p_(){if(typeof document>`u`)return null;if(d_!==document){d_=document;try{u_=document.createElement(`canvas`).getContext(`2d`)}catch{u_=null}}return u_}function m_(e,t){let n=p_();if(!n)return null;n.font=`${t}px ${o_}`;let r=n.measureText(e).width;return r>0?r:null}function h_(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(a_,`svg`),r=document.createElementNS(a_,`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 g_(e,t){if(e===``)return 0;let n=m_(e,t)??h_(e,t)??0;return Math.max(n,f_(e,t))}function __(e,t){let n=0;for(let r of e){let e=g_(r,t);e>n&&(n=e)}return n}function v_(e,t,n,r=`…`){if(g_(e,n)<=t)return e;let i=[...e],a=g_(r,n),o=i.length;for(;o>1&&g_(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function y_(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 b_={top:12,right:20,bottom:24,left:50},x_=10,S_=.25;function C_(e,t,n){let r=t+n,i=e*S_;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var w_=class extends Vg{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,E_=2,D_=2,O_=9;function k_(e,t,n,r){let[i,a]=ji(e,t,r);return A_(r===`log`?ep().domain([i,a]).nice():zf().domain([i,a]).nice(),n)}function A_(e,t){let n=e.ticks(),r=t?n_(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(__(i,x_))+D_+O_}function j_(e){return e.length===0?0:Math.ceil(__(e,x_))+D_+O_}function M_(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?E_:f?0:s):(o.right=a===!1?0:15,o.left=d?E_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function N_(e,t){return parseFloat(e.dataset[t]??``)||0}function P_(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:N_(e,`bcContentWidth`),height:s>0?s:N_(e,`bcContentHeight`)}}function F_(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`,kr(n)),e.insertBefore(r,e.firstChild)}function I_(e,t){let n={...b_,...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=P_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=C_(a,n.left,n.right),[n.top,n.bottom]=C_(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new w_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return F_(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 L_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var R_=0;function z_(e){R_=e?500:0}function B_(){return L_(R_)}function V_(e,t){let n=L_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function H_(e,t){let n=L_(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 U_(e,t,n){let r=L_(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 W_=60,G_=10,K_=8,q_=16,J_=10,Y_=1.3,X_=12,Z_=3,Q_=14,$_=10;function ev(e,t,n=Z_){if(e===``)return[``];if(e.length*J_<=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*J_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*J_<=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 tv={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function nv(e){return typeof e.step==`function`}function rv(e,t){let n=Ei(t);if(e&&e.includes(`%`)){if(n){let r=th(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:n_(e)??mf(e);if(n){let e=th(tv[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 iv(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*J_;e>n&&(n=e)}return n}function av(e,t){return e.map(e=>t?t(e):String(e))}function ov(e,t){let n=Math.max(q_,Math.ceil(e)+K_);return Math.max(2,Math.floor(t/n))}function sv(e,t,n){if(e.length<=1)return e;let r=ov(__(av(e,n??null),G_),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 cv(e,t,n){let r=Math.max(2,Math.floor(t/W_));for(;r>2;){let i=av(e.ticks(r),n??e.tickFormat(r)),a=ov(__(i,G_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function lv(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!Ei(e)&&iv(e,r??null)>t/e.length*Y_}function uv(e,t){if(e.length===0)return 0;let n=iv(e,t??null);return Math.ceil(n)+X_}function dv(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*Q_+$_}function fv(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:rv(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||Ei(e)===null)&&e.length>1){let n=t/e.length*Y_,o=iv(e,i)>n;if(a!==`vertical`&&o){let t=pv(e,n,i);if(t){let e=dv(Array.from(t.values()));return e>r?e:void 0}}}if(!lv(e,t,a,i))return;let o=uv(e,i);return o>r?o:void 0}function pv(e,t,n){let r=new Map,i=!1;for(let a of e){let e=ev(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function mv(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 hv=class extends Vg{initialize(){this.configDefine(`scale`,{defaultValue:Cf()}),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`?Ta(n):Da(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||rv(l,u);p&&f.tickFormat(p);let m=nv(r),h=m?r.domain():[],g=m&&s!==`vertical`&&Ei(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*Y_,t=iv(h,p)>e;s===`vertical`?v=!0:t&&(_=pv(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`),x=b&&Ni(r,b);if(!x&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=sv(h,c,p);e.length<h.length&&(x=e)}}else{let e=Mi(r,Math.max(2,Math.floor(c/W_)));e?x=e:f.ticks(cv(r,c,p))}}x&&f.tickValues(x);let S=i===`above`?0:a,C=e.node(),w=t===`merge`?B_():0;if(t===`merge`){if(!C)return;w>0?(e.attr(`transform`,`translate(0,${S})`),e.duration(w).call(f)):Q(C).attr(`transform`,`translate(0,${S})`).call(f)}else e.attr(`transform`,`translate(0,${S})`),e.call(f);let T=C?Q(C):e,E=w>0?e:T;if(!this.config(`showAxis`))T.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);E.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||T.selectAll(`.tick line`).remove(),y===`off`?T.selectAll(`.tick text`).remove():y===`inside`&&E.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?E.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(E.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&gv(E,c)),_&&y!==`off`&&mv(E,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&_v(n,e,t)}};function gv(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=g_(i.textContent??``,G_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function _v(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`,vv[t]??null)})}var vv={dashed:`4,4`,dotted:`1,3`};function yv(e,t,n,r={},i){let a=new hv(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=nv(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 bv=30;function xv(e){return typeof e.bandwidth==`function`}var Sv=class extends Vg{initialize(){this.configDefine(`scale`,{defaultValue:zf()}),this.configDefine(`direction`,{defaultValue:Vr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Ur.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:Wr.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===Vr.Right?Ea(t):Oa(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(Ni(t,l));else if(s>0){let e=Math.max(2,Math.floor(s/bv)),n=Mi(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&&!xv(t)?n_(e):null;n&&c.tickFormat(n)}let d=B_(),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===Wr.Auto?o>0&&o<400?Wr.Inside:Wr.Outside:a;if(t===Wr.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===Vr.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===Wr.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===Vr.Right?Ea(t):Oa(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(Ni(t,c));else if(a>0){let e=Math.max(2,Math.floor(a/bv)),n=Mi(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&&!xv(t)?n_(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===Wr.Auto?i>0&&i<400?Wr.Inside:Wr.Outside:r;if(f===Wr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Vr.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===Vr.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===Wr.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&&wv(r,e,n===Vr.Right?-t:t)}},Cv={[Ur.Dashed]:`4,4`,[Ur.Dotted]:`1,3`};function wv(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Ur.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`,Cv[t]??null)})}function Tv(e){return typeof e.step==`function`}var Ev=new WeakMap,Dv=new WeakMap;function Ov(e,t){let n=Dv.get(e);Dv.set(e,t),n!==void 0&&n!==t&&Ev.get(e)?.destroy()}var kv=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=Ev.get(t);return n||(n=new e(t),Ev.set(t,n)),n}static clear(e){Ev.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 Sv(Q(this.vGroup)),this.hChart=new hv(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=B_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=jc(e,0),r=jc(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,Ev.delete(this.container)}},Av=Math.min,jv=Math.max,Mv=Math.round,Nv=e=>({x:e,y:e}),Pv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Fv(e,t,n){return jv(e,Av(t,n))}function Iv(e,t){return typeof e==`function`?e(t):e}function Lv(e){return e.split(`-`)[0]}function Rv(e){return e.split(`-`)[1]}function zv(e){return e===`x`?`y`:`x`}function Bv(e){return e===`y`?`height`:`width`}function Vv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Hv(e){return zv(Vv(e))}function Uv(e,t,n){n===void 0&&(n=!1);let r=Rv(e),i=Hv(e),a=Bv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Qv(o)),[o,Qv(o)]}function Wv(e){let t=Qv(e);return[Gv(e),t,Gv(t)]}function Gv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Kv=[`left`,`right`],qv=[`right`,`left`],Jv=[`top`,`bottom`],Yv=[`bottom`,`top`];function Xv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?qv:Kv:t?Kv:qv;case`left`:case`right`:return t?Jv:Yv;default:return[]}}function Zv(e,t,n,r){let i=Rv(e),a=Xv(Lv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Gv)))),a}function Qv(e){let t=Lv(e);return Pv[t]+e.slice(t.length)}function $v(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function ey(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:$v(e)}function ty(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 ny(e,t,n){let{reference:r,floating:i}=e,a=Vv(t),o=Hv(t),s=Bv(o),c=Lv(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=Rv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function ry(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}=Iv(t,e),p=ey(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ty(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=ty(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 iy=50,ay=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ry},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ny(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<iy&&(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}=ny(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},oy=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}=Iv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Lv(r),_=Vv(o),v=Lv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Qv(o)]:Wv(o)),x=p!==`none`;!d&&x&&b.push(...Zv(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=Uv(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`||_===Vv(t)||T.every(e=>Vv(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=Vv(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{}}}},sy=new Set([`left`,`top`]);async function cy(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Lv(n),s=Rv(n),c=Vv(n)===`y`,l=sy.has(o)?-1:1,u=a&&c?-1:1,d=Iv(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 ly=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 cy(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}}}}},uy=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}=Iv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Vv(i),p=zv(f),m=u[p],h=u[f],g=(e,t)=>Fv(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 dy(){return typeof window<`u`}function fy(e){return hy(e)?(e.nodeName||``).toLowerCase():`#document`}function py(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function my(e){return((hy(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function hy(e){return dy()?e instanceof Node||e instanceof py(e).Node:!1}function gy(e){return dy()?e instanceof Element||e instanceof py(e).Element:!1}function _y(e){return dy()?e instanceof HTMLElement||e instanceof py(e).HTMLElement:!1}function vy(e){return!dy()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof py(e).ShadowRoot}function yy(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Ay(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function by(e){return/^(table|td|th)$/.test(fy(e))}function xy(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Sy=/transform|translate|scale|rotate|perspective|filter/,Cy=/paint|layout|strict|content/,wy=e=>!!e&&e!==`none`,Ty;function Ey(e){let t=gy(e)?Ay(e):e;return wy(t.transform)||wy(t.translate)||wy(t.scale)||wy(t.rotate)||wy(t.perspective)||!Oy()&&(wy(t.backdropFilter)||wy(t.filter))||Sy.test(t.willChange||``)||Cy.test(t.contain||``)}function Dy(e){let t=My(e);for(;_y(t)&&!ky(t);){if(Ey(t))return t;if(xy(t))return null;t=My(t)}return null}function Oy(){return Ty??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ty}function ky(e){return/^(html|body|#document)$/.test(fy(e))}function Ay(e){return py(e).getComputedStyle(e)}function jy(e){return gy(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function My(e){if(fy(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||vy(e)&&e.host||my(e);return vy(t)?t.host:t}function Ny(e){let t=My(e);return ky(t)?(e.ownerDocument||e).body:_y(t)&&yy(t)?t:Ny(t)}function Py(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ny(e),i=r===e.ownerDocument?.body,a=py(r);if(i){let e=Fy(a);return t.concat(a,a.visualViewport||[],yy(r)?r:[],e&&n?Py(e):[])}return t.concat(r,Py(r,[],n))}function Fy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Iy(e){let t=Ay(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=_y(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Mv(n)!==a||Mv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ly(e){return gy(e)?e:e.contextElement}function Ry(e){let t=Ly(e);if(!_y(t))return Nv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Iy(t),o=(a?Mv(n.width):n.width)/r,s=(a?Mv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var zy=Nv(0);function By(e){let t=py(e);return!Oy()||!t.visualViewport?zy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Vy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===py(e)}function Hy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ly(e),o=Nv(1);t&&(r?gy(r)&&(o=Ry(r)):o=Ry(e));let s=Vy(a,n,r)?By(a):Nv(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=py(a),t=gy(r)?py(r):r,n=e,i=Fy(n);for(;i&&t!==n;){let e=Ry(i),t=i.getBoundingClientRect(),r=Ay(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=py(i),i=Fy(n)}}return ty({width:u,height:d,x:c,y:l})}function Uy(e,t){let n=jy(e).scrollLeft;return t?t.left+n:Hy(my(e)).left+n}function Wy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Uy(e,n),y:n.top+t.scrollTop}}function Gy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=my(r),s=t?xy(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Nv(1),u=Nv(0),d=_y(r);if((d||!a)&&((fy(r)!==`body`||yy(o))&&(c=jy(r)),d)){let e=Hy(r);l=Ry(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Wy(o,c):Nv(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 Ky(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function qy(e){let t=jy(e),n=e.ownerDocument.body,r=jv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=jv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Uy(e),o=-t.scrollTop;return Ay(n).direction===`rtl`&&(a+=jv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Jy=25;function Yy(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=py(e),a=my(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Oy()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Uy(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<=Jy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Xy(e,t){let n=Hy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Ry(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Zy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Yy(e,n,t);else if(t===`document`)r=qy(my(e));else if(gy(t))r=Xy(t,n);else{let n=By(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ty(r)}function Qy(e,t){let n=t.get(e);if(n)return n;let r=Py(e,[],!1).filter(e=>gy(e)&&fy(e)!==`body`),i=null,a=Ay(e).position===`fixed`,o=a?My(e):e;for(;gy(o)&&!ky(o);){let e=Ay(o),t=Ey(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=My(o)}return t.set(e,r),r}function $y(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?xy(t)?[]:Qy(t,this._c):[].concat(n),r],o=Zy(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=Zy(t,a[e],i);s=jv(n.top,s),c=Av(n.right,c),l=Av(n.bottom,l),u=jv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function eb(e){let{width:t,height:n}=Iy(e);return{width:t,height:n}}function tb(e,t,n){let r=_y(t),i=my(t),a=n===`fixed`,o=Hy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Nv(0);if((r||!a)&&((fy(t)!==`body`||yy(i))&&(s=jy(t)),r)){let e=Hy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Uy(i));let l=i&&!r&&!a?Wy(i,s):Nv(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 nb(e){return Ay(e).position===`static`}function rb(e,t){if(!_y(e)||Ay(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return my(e)===n&&(n=n.ownerDocument.body),n}function ib(e,t){let n=py(e);if(xy(e))return n;if(!_y(e)){let t=My(e);for(;t&&!ky(t);){if(gy(t)&&!nb(t))return t;t=My(t)}return n}let r=rb(e,t);for(;r&&by(r)&&nb(r);)r=rb(r,t);return r&&ky(r)&&nb(r)&&!Ey(r)?n:r||Dy(e)||n}var ab=async function(e){let t=this.getOffsetParent||ib,n=this.getDimensions,r=await n(e.floating);return{reference:tb(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ob(e){return Ay(e).direction===`rtl`}var sb={convertOffsetParentRelativeRectToViewportRelativeRect:Gy,getDocumentElement:my,getClippingRect:$y,getOffsetParent:ib,getElementRects:ab,getClientRects:Ky,getDimensions:eb,getScale:Ry,isElement:gy,isRTL:ob},cb=ly,lb=uy,ub=oy,db=(e,t,n)=>{let r=new Map,i=n??{},a={...sb,...i.platform,_c:r};return ay(e,t,{...i,platform:a})},fb=`bc-tooltip`;function pb(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
320
- .${fb} {
319
+ `)}function l(t){return t.map(u).join(e)}function u(e){return e==null?``:e instanceof Date?Kd(e):t.test(e+=``)?`"`+e.replace(/"/g,`""`)+`"`:e}return{parse:r,parseRows:i,format:o,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}var Jd=qd(`,`);Jd.parse,Jd.parseRows,Jd.format,Jd.formatBody;var Yd=Jd.formatRows;Jd.formatRow,Jd.formatValue;function Xd(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Zd(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 Qd(e){return e=Zd(Math.abs(e)),e?e[1]:NaN}function $d(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 ef(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var tf=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function nf(e){if(!(t=tf.exec(e)))throw Error(`invalid format: `+e);var t;return new rf({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]})}nf.prototype=rf.prototype;function rf(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+``}rf.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 af(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 of;function sf(e,t){var n=Zd(e,t);if(!n)return of=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(of=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`)+Zd(e,Math.max(0,t+a-1))[0]}function cf(e,t){var n=Zd(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 lf={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Xd,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)=>cf(e*100,t),r:cf,s:sf,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function uf(e){return e}var df=Array.prototype.map,ff=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function pf(e){var t=e.grouping===void 0||e.thousands===void 0?uf:$d(df.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?uf:ef(df.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=nf(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`):lf[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=lf[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=af(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&of!==void 0?ff[8+of/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(Qd(t)/3)))*3,r=10**-n,i=l((e=nf(e),e.type=`f`,e),{suffix:ff[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var mf,hf,gf;_f({thousands:`,`,grouping:[3],currency:[`$`,``]});function _f(e){return mf=pf(e),hf=mf.format,gf=mf.formatPrefix,mf}function vf(e){return Math.max(0,-Qd(Math.abs(e)))}function yf(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Qd(t)/3)))*3-Qd(Math.abs(e)))}function bf(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Qd(t)-Qd(e))+1}function xf(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var Sf=Symbol(`implicit`);function Cf(){var e=new Wi,t=[],n=[],r=Sf;function i(i){let a=e.get(i);if(a===void 0){if(r!==Sf)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 Wi;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 Cf(t,n).unknown(r)},xf.apply(i,arguments),i}function wf(){var e=Cf().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=fa(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 wf(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},xf.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 Ef(){return Tf(wf.apply(null,arguments).paddingInner(1))}function Df(e){return function(){return e}}function Of(e){return+e}var kf=[0,1];function Af(e){return e}function jf(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Df(isNaN(t)?NaN:.5)}function Mf(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function Nf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=jf(i,r),a=n(o,a)):(r=jf(r,i),a=n(a,o)),function(e){return a(r(e))}}function Pf(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]=jf(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Vi(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 If(){var e=kf,t=kf,n=zc,r,i,a,o=Af,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==Af&&(o=Mf(e[0],e[n-1])),s=n>2?Pf:Nf,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),Mc))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,Of),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=Bc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Af,u()):o!==Af},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 Lf(){return If()(Af,Af)}function Rf(e,t,n,r){var i=la(e,t,n),a;switch(r=nf(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=yf(i,o))&&(r.precision=a),gf(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=bf(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=vf(i))&&(r.precision=a-(r.type===`%`)*2)}return hf(r)}function zf(e){var t=e.domain;return e.ticks=function(e){var n=t();return sa(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Rf(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=ca(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 Bf(){var e=Lf();return e.copy=function(){return Ff(e,Bf())},xf.apply(e,arguments),zf(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 Hf(e){return Math.log(e)}function Uf(e){return Math.exp(e)}function Wf(e){return-Math.log(-e)}function Gf(e){return-Math.exp(-e)}function Kf(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function qf(e){return e===10?Kf:e===Math.E?Math.exp:t=>e**+t}function Jf(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 Yf(e){return(t,n)=>-e(-t,n)}function Xf(e){let t=e(Hf,Uf),n=t.domain,r=10,i,a;function o(){return i=Jf(r),a=qf(r),n()[0]<0?(i=Yf(i),a=Yf(a),e(Wf,Gf)):e(Hf,Uf),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=sa(o,s,p))}else m=sa(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=nf(n)).precision==null&&(n.trim=!0),n=hf(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 Zf(){let e=Xf(If()).domain([1,10]);return e.copy=()=>Ff(e,Zf()).base(e.base()),xf.apply(e,arguments),e}function Qf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function $f(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function ep(e){var t=1,n=e(Qf(t),$f(t));return n.constant=function(n){return arguments.length?e(Qf(t=+n),$f(t)):t},zf(n)}function tp(){var e=ep(If());return e.copy=function(){return Ff(e,tp()).constant(e.constant())},xf.apply(e,arguments)}function np(e){return function(t){return t<0?-((-t)**+e):t**+e}}function rp(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function ip(e){return e<0?-e*e:e*e}function ap(e){var t=e(Af,Af),n=1;function r(){return n===1?e(Af,Af):n===.5?e(rp,ip):e(np(n),np(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},zf(t)}function op(){var e=ap(If());return e.copy=function(){return Ff(e,op()).exponent(e.exponent())},xf.apply(e,arguments),e}function sp(){return op.apply(null,arguments).exponent(.5)}var cp=new Date,lp=new Date;function up(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=>up(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)=>(cp.setTime(+t),lp.setTime(+r),e(cp),e(lp),Math.floor(n(cp,lp))),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 dp=6e4,fp=dp*60*24,pp=fp*7;fp*30,fp*365;var mp=up(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*dp)/fp,e=>e.getDate()-1);mp.range;var hp=up(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/fp,e=>e.getUTCDate()-1);hp.range,up(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/fp,e=>Math.floor(e/fp)).range;function gp(e){return up(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())*dp)/pp)}var _p=gp(0),vp=gp(1),yp=gp(2),bp=gp(3),xp=gp(4),Sp=gp(5),Cp=gp(6);_p.range,vp.range,yp.range,bp.range,xp.range,Sp.range,Cp.range;function wp(e){return up(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)/pp)}var Tp=wp(0),Ep=wp(1),Dp=wp(2),Op=wp(3),kp=wp(4),Ap=wp(5),jp=wp(6);Tp.range,Ep.range,Dp.range,Op.range,kp.range,Ap.range,jp.range;var Mp=up(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());Mp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:up(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)}),Mp.range;var Np=up(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());Np.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:up(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)}),Np.range;function Pp(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 Ip(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Lp(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=Wp(i),u=Gp(i),d=Wp(a),f=Gp(a),p=Wp(o),m=Gp(o),h=Wp(s),g=Gp(s),_=Wp(c),v=Gp(c),y={a:N,A:P,b:F,B:I,c:null,d:fm,e:fm,f:_m,g:Om,G:Am,H:pm,I:mm,j:hm,L:gm,m:vm,M:ym,p:L,q:R,Q:$m,s:eh,S:bm,u:xm,U:Sm,V:wm,w:Tm,W:Em,x:null,X:null,y:Dm,Y:km,Z:jm,"%":Qm},b={a:z,A:B,b:V,B:H,c:null,d:Mm,e:Mm,f:Lm,g:Jm,G:Xm,H:Nm,I:Pm,j:Fm,L:Im,m:Rm,M:zm,p:ee,q:U,Q:$m,s:eh,S:Bm,u:Vm,U:Hm,V:Wm,w:Gm,W:Km,x:null,X:null,y:qm,Y:Ym,Z:Zm,"%":Qm},x={a:E,A:D,b:O,B:k,c:A,d:nm,e:nm,f:cm,g:Qp,G:Zp,H:im,I:im,j:rm,L:sm,m:tm,M:am,p:T,q:em,Q:um,s:dm,S:om,u:qp,U:Jp,V:Yp,w:Kp,W:Xp,x:j,X:M,y:Qp,Y:Zp,Z:$p,"%":lm};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=Rp[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=Ip(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(Ip(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?Ep.ceil(a):Ep(a),a=hp.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Pp(Ip(r.y,0,1)),o=a.getDay(),a=o>4||o===0?vp.ceil(a):vp(a),a=mp.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(Ip(r.y,0,1)).getUTCDay():Pp(Ip(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)):Pp(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 Rp?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 Rp={"-":``,_:` `,0:`0`},zp=/^\s*\d+/,Bp=/^%/,Vp=/[\\^$*+?|[\]().{}]/g;function Hp(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 Up(e){return e.replace(Vp,`\\$&`)}function Wp(e){return RegExp(`^(?:`+e.map(Up).join(`|`)+`)`,`i`)}function Gp(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Kp(e,t,n){var r=zp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function qp(e,t,n){var r=zp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Jp(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Yp(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Xp(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Zp(e,t,n){var r=zp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Qp(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function $p(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 em(e,t,n){var r=zp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function tm(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function nm(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function rm(e,t,n){var r=zp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function im(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function am(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function om(e,t,n){var r=zp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function sm(e,t,n){var r=zp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function cm(e,t,n){var r=zp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function lm(e,t,n){var r=Bp.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function um(e,t,n){var r=zp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function dm(e,t,n){var r=zp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function fm(e,t){return Hp(e.getDate(),t,2)}function pm(e,t){return Hp(e.getHours(),t,2)}function mm(e,t){return Hp(e.getHours()%12||12,t,2)}function hm(e,t){return Hp(1+mp.count(Mp(e),e),t,3)}function gm(e,t){return Hp(e.getMilliseconds(),t,3)}function _m(e,t){return gm(e,t)+`000`}function vm(e,t){return Hp(e.getMonth()+1,t,2)}function ym(e,t){return Hp(e.getMinutes(),t,2)}function bm(e,t){return Hp(e.getSeconds(),t,2)}function xm(e){var t=e.getDay();return t===0?7:t}function Sm(e,t){return Hp(_p.count(Mp(e)-1,e),t,2)}function Cm(e){var t=e.getDay();return t>=4||t===0?xp(e):xp.ceil(e)}function wm(e,t){return e=Cm(e),Hp(xp.count(Mp(e),e)+(Mp(e).getDay()===4),t,2)}function Tm(e){return e.getDay()}function Em(e,t){return Hp(vp.count(Mp(e)-1,e),t,2)}function Dm(e,t){return Hp(e.getFullYear()%100,t,2)}function Om(e,t){return e=Cm(e),Hp(e.getFullYear()%100,t,2)}function km(e,t){return Hp(e.getFullYear()%1e4,t,4)}function Am(e,t){var n=e.getDay();return e=n>=4||n===0?xp(e):xp.ceil(e),Hp(e.getFullYear()%1e4,t,4)}function jm(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Hp(t/60|0,`0`,2)+Hp(t%60,`0`,2)}function Mm(e,t){return Hp(e.getUTCDate(),t,2)}function Nm(e,t){return Hp(e.getUTCHours(),t,2)}function Pm(e,t){return Hp(e.getUTCHours()%12||12,t,2)}function Fm(e,t){return Hp(1+hp.count(Np(e),e),t,3)}function Im(e,t){return Hp(e.getUTCMilliseconds(),t,3)}function Lm(e,t){return Im(e,t)+`000`}function Rm(e,t){return Hp(e.getUTCMonth()+1,t,2)}function zm(e,t){return Hp(e.getUTCMinutes(),t,2)}function Bm(e,t){return Hp(e.getUTCSeconds(),t,2)}function Vm(e){var t=e.getUTCDay();return t===0?7:t}function Hm(e,t){return Hp(Tp.count(Np(e)-1,e),t,2)}function Um(e){var t=e.getUTCDay();return t>=4||t===0?kp(e):kp.ceil(e)}function Wm(e,t){return e=Um(e),Hp(kp.count(Np(e),e)+(Np(e).getUTCDay()===4),t,2)}function Gm(e){return e.getUTCDay()}function Km(e,t){return Hp(Ep.count(Np(e)-1,e),t,2)}function qm(e,t){return Hp(e.getUTCFullYear()%100,t,2)}function Jm(e,t){return e=Um(e),Hp(e.getUTCFullYear()%100,t,2)}function Ym(e,t){return Hp(e.getUTCFullYear()%1e4,t,4)}function Xm(e,t){var n=e.getUTCDay();return e=n>=4||n===0?kp(e):kp.ceil(e),Hp(e.getUTCFullYear()%1e4,t,4)}function Zm(){return`+0000`}function Qm(){return`%`}function $m(e){return+e}function eh(e){return Math.floor(e/1e3)}var th,nh;rh({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 rh(e){return th=Lp(e),nh=th.format,th.parse,th.utcFormat,th.utcParse,th}function ih(e){return function(){return e}}var ah=Math.abs,oh=Math.atan2,sh=Math.cos,ch=Math.max,lh=Math.min,uh=Math.sin,dh=Math.sqrt,fh=Math.PI,ph=fh/2,mh=2*fh;function hh(e){return e>1?0:e<-1?fh:Math.acos(e)}function gh(e){return e>=1?ph:e<=-1?-ph:Math.asin(e)}function _h(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 Yu(t)}function vh(e){return e.innerRadius}function yh(e){return e.outerRadius}function bh(e){return e.startAngle}function xh(e){return e.endAngle}function Sh(e){return e&&e.padAngle}function Ch(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 wh(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/dh(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)*dh(ch(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 Th(){var e=vh,t=yh,n=ih(0),r=null,i=bh,a=xh,o=Sh,s=null,c=_h(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-ph,m=a.apply(this,arguments)-ph,h=ah(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>mh-1e-12)s.moveTo(f*sh(p),f*uh(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*sh(m),d*uh(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):dh(d*d+f*f)),T=lh(ah(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=gh(w/d*uh(C)),j=gh(w/f*uh(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*sh(_),N=f*uh(_),P=d*sh(b),F=d*uh(b);if(T>1e-12){var I=f*sh(v),L=f*uh(v),R=d*sh(y),z=d*uh(y),B;if(h<fh){if(B=Ch(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/uh(hh((V*ee+H*U)/(dh(V*V+H*H)*dh(ee*ee+U*U)))/2),ne=dh(B[0]*B[0]+B[1]*B[1]);E=lh(T,(d-ne)/(te-1)),D=lh(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=wh(R,z,M,N,f,D,g),k=wh(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,oh(O.y01,O.x01),oh(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,oh(O.y01,O.x01),oh(O.y11,O.x11),!g),s.arc(0,0,f,oh(O.cy+O.y11,O.cx+O.x11),oh(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,oh(k.y11,k.x11),oh(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=wh(P,F,I,L,d,-E,g),k=wh(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,oh(O.y01,O.x01),oh(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,oh(O.y01,O.x01),oh(O.y11,O.x11),!g),s.arc(0,0,d,oh(O.cy+O.y11,O.cx+O.x11),oh(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,oh(k.y11,k.x11),oh(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-fh/2;return[sh(r)*n,uh(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:ih(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:ih(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:ih(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ih(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:ih(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:ih(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:ih(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function Eh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Dh(e){this._context=e}Dh.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 Oh(e){return new Dh(e)}function kh(e){return e[0]}function Ah(e){return e[1]}function jh(e,t){var n=ih(!0),r=null,i=Oh,a=null,o=_h(s);e=typeof e==`function`?e:e===void 0?kh:ih(e),t=typeof t==`function`?t:t===void 0?Ah:ih(t);function s(s){var c,l=(s=Eh(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:ih(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:ih(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:ih(!!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 Mh(e,t,n){var r=null,i=ih(!0),a=null,o=Oh,s=null,c=_h(l);e=typeof e==`function`?e:e===void 0?kh:ih(+e),t=typeof t==`function`?t:ih(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Ah:ih(+n);function l(l){var u,d,f,p=(l=Eh(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 jh().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:ih(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:ih(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ih(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:ih(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:ih(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:ih(+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:ih(!!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 Nh(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function Ph(e){return e}function Fh(){var e=Ph,t=Nh,n=null,r=ih(0),i=ih(mh),a=ih(0);function o(o){var s,c=(o=Eh(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(mh,Math.max(-mh,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:ih(+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:ih(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:ih(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:ih(+e),o):a},o}var Ih={draw(e,t){let n=dh(t/fh);e.moveTo(n,0),e.arc(0,0,n,0,mh)}},Lh={draw(e,t){let n=dh(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()}},Rh=dh(1/3),zh=Rh*2,Bh={draw(e,t){let n=dh(t/zh),r=n*Rh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Vh={draw(e,t){let n=dh(t),r=-n/2;e.rect(r,r,n,n)}},Hh=.8908130915292852,Uh=uh(fh/10)/uh(7*fh/10),Wh=uh(mh/10)*Uh,Gh=-sh(mh/10)*Uh,Kh={draw(e,t){let n=dh(t*Hh),r=Wh*n,i=Gh*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=mh*t/5,o=sh(a),s=uh(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},qh=dh(3),Jh={draw(e,t){let n=-dh(t/(qh*3));e.moveTo(0,n*2),e.lineTo(-qh*n,-n),e.lineTo(qh*n,-n),e.closePath()}},Yh=dh(3),Xh={draw(e,t){let n=dh(t)*.6824,r=n/2,i=n*Yh/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function Zh(e,t){let n=null,r=_h(i);e=typeof e==`function`?e:ih(e||Ih),t=typeof t==`function`?t:ih(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:ih(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:ih(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Qh(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 $h(e){this._context=e}$h.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:Qh(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:Qh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function eg(e){return new $h(e)}function tg(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 ng(e,t){this._context=e,this._k=(1-t)/6}ng.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:tg(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:tg(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 rg=(function e(t){function n(e){return new ng(e,t)}return n.tension=function(t){return e(+t)},n})(0);function ig(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 ag(e,t){this._context=e,this._alpha=t}ag.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:ig(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 og=(function e(t){function n(e){return t?new ag(e,t):new ng(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function sg(e){return e<0?-1:1}function cg(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(sg(a)+sg(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function lg(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function ug(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 dg(e){this._context=e}dg.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:ug(this,this._t0,lg(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,ug(this,lg(this,n=cg(this,e,t)),n);break;default:ug(this,this._t0,n=cg(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(dg.prototype).point=function(e,t){dg.prototype.point.call(this,t,e)};function fg(e){return new dg(e)}function pg(e,t){this._context=e,this._t=t}pg.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 mg(e){return new pg(e,.5)}function hg(e){return new pg(e,0)}function gg(e){return new pg(e,1)}function _g(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 vg(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function yg(e,t){return e[t]}function bg(e){let t=[];return t.key=e,t}function xg(){var e=ih([]),t=vg,n=_g,r=yg;function i(i){var a=Array.from(e.apply(this,arguments),bg),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=Eh(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:ih(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:ih(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?vg:typeof e==`function`?e:ih(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??_g,i):n},i}function Sg(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 Cg(e,t,n){this.k=e,this.x=t,this.y=n}Cg.prototype={constructor:Cg,scale:function(e){return e===1?this:new Cg(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Cg(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 wg=new Cg(1,0,0);Tg.prototype=Cg.prototype;function Tg(e){for(;!e.__zoom;)if(!(e=e.parentNode))return wg;return e.__zoom}function Eg(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var Dg=class{properties=new Map;define(e,t){Eg(!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 Eg(t,`config "${e}" is not defined`),t}},Og=[`update`,`enter`,`merge`,`exit`],kg=new Set([...Og,...Og.map(e=>`${e}:transition`)]);function Ag(e){return kg.has(e)}function jg(e){Eg(Ag(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...kg].join(`, `)}`)}function Mg(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return Og.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function Ng(e,t){for(let n of t)n(e)}function Pg(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 Ig=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){jg(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(jg(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=Mg(t,this.insertFn(n),this.handlers),i=[];for(let e of r){Ng(e.selection,e.handlers);let t=Pg(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function Lg(e,t,n,r){if(n&&r){let i=new Ig(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 Rg(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 zg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function Bg(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`],Hg=class{base;layers=new Map;attachments=new Map;configs=new Dg;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=ja(...Vg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return Lg(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 Rg(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=zg(this.layers,t),r=Bg(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()}},Ug=class extends Hg{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,e.download&&(t.download=e.download),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,e.download&&(t.download=e.download),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 Wg(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 Gg(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}),e.getTheData&&e.data&&t.push({tag:`span`,className:`bc-frame-get-the-data`,text:`Get the data`,href:`data:text/csv;charset=utf-8,${encodeURIComponent(Kg(e.data))}`,download:`data.csv`}),t}function Kg(e){let t=e.series??[{name:`Value`,values:e.values}],n=e.textColumns??[];return Yd([[`Label`,...t.map(e=>e.name),...n.map(e=>e.name)],...e.labels.map((e,r)=>[e,...t.map(e=>e.values[r]),...n.map(e=>e.values[r])].map(e=>String(e??``)))])}function qg(){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 Jg=80,Yg=`.bc-frame-title, .bc-frame-description`;function Xg(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function Zg(e){e.querySelectorAll(Yg).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function Qg(e,t){let n=[...e.querySelectorAll(Yg)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/Xg(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 $g(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function e_(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new Ug(Q(e)).draw({headerItems:Wg(n),footerLeftItems:Gg(n),footerRightItems:qg()});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]=$g(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){Zg(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-Jg;t>l&&(Qg(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 t_(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function n_(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:t_(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:t_(e),suffix:``}}function r_(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=n_(e);if(!n)return null;let i=hf(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function i_(e,t){return(r_(t??``)??String)(e)}function a_(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var o_=`http://www.w3.org/2000/svg`,s_=`system-ui, -apple-system, sans-serif`,c_=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,l_=1,u_=.5,d_=null,f_=null;function p_(e,t){let n=0;for(let t of e)n+=c_.test(t)?l_:u_;return n*t}function m_(){if(typeof document>`u`)return null;if(f_!==document){f_=document;try{d_=document.createElement(`canvas`).getContext(`2d`)}catch{d_=null}}return d_}function h_(e,t){let n=m_();if(!n)return null;n.font=`${t}px ${s_}`;let r=n.measureText(e).width;return r>0?r:null}function g_(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(o_,`svg`),r=document.createElementNS(o_,`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 __(e,t){if(e===``)return 0;let n=h_(e,t)??g_(e,t)??0;return Math.max(n,p_(e,t))}function v_(e,t){let n=0;for(let r of e){let e=__(r,t);e>n&&(n=e)}return n}function y_(e,t,n,r=`…`){if(__(e,n)<=t)return e;let i=[...e],a=__(r,n),o=i.length;for(;o>1&&__(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function b_(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 x_={top:12,right:20,bottom:24,left:50},S_=10,C_=.25;function w_(e,t,n){let r=t+n,i=e*C_;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var T_=class extends Hg{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})`)}}})}},E_=400,D_=2,O_=2,k_=9;function A_(e,t,n,r){let[i,a]=Mi(e,t,r);return j_(r===`log`?tp().domain([i,a]).nice():Bf().domain([i,a]).nice(),n)}function j_(e,t){let n=e.ticks(),r=t?r_(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(v_(i,S_))+O_+k_}function M_(e){return e.length===0?0:Math.ceil(v_(e,S_))+O_+k_}function N_(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<E_?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?D_:f?0:s):(o.right=a===!1?0:15,o.left=d?D_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function P_(e,t){return parseFloat(e.dataset[t]??``)||0}function F_(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:P_(e,`bcContentWidth`),height:s>0?s:P_(e,`bcContentHeight`)}}function I_(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`,Ar(n)),e.insertBefore(r,e.firstChild)}function L_(e,t){let n={...x_,...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=F_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=w_(a,n.left,n.right),[n.top,n.bottom]=w_(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new T_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return I_(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 R_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var z_=0;function B_(e){z_=e?500:0}function V_(){return R_(z_)}function H_(e,t){let n=R_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function U_(e,t){let n=R_(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=R_(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 G_=60,K_=10,q_=8,J_=16,Y_=10,X_=1.3,Z_=12,Q_=3,$_=14,ev=10;function tv(e,t,n=Q_){if(e===``)return[``];if(e.length*Y_<=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*Y_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*Y_<=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 nv={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function rv(e){return typeof e.step==`function`}function iv(e,t){let n=Di(t);if(e&&e.includes(`%`)){if(n){let r=nh(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:r_(e)??hf(e);if(n){let e=nh(nv[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 av(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*Y_;e>n&&(n=e)}return n}function ov(e,t){return e.map(e=>t?t(e):String(e))}function sv(e,t){let n=Math.max(J_,Math.ceil(e)+q_);return Math.max(2,Math.floor(t/n))}function cv(e,t,n){if(e.length<=1)return e;let r=sv(v_(ov(e,n??null),K_),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 lv(e,t,n){let r=Math.max(2,Math.floor(t/G_));for(;r>2;){let i=ov(e.ticks(r),n??e.tickFormat(r)),a=sv(v_(i,K_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function uv(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!Di(e)&&av(e,r??null)>t/e.length*X_}function dv(e,t){if(e.length===0)return 0;let n=av(e,t??null);return Math.ceil(n)+Z_}function fv(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*$_+ev}function pv(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:iv(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||Di(e)===null)&&e.length>1){let n=t/e.length*X_,o=av(e,i)>n;if(a!==`vertical`&&o){let t=mv(e,n,i);if(t){let e=fv(Array.from(t.values()));return e>r?e:void 0}}}if(!uv(e,t,a,i))return;let o=dv(e,i);return o>r?o:void 0}function mv(e,t,n){let r=new Map,i=!1;for(let a of e){let e=tv(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function hv(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 gv=class extends Hg{initialize(){this.configDefine(`scale`,{defaultValue:wf()}),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`?Ea(n):Oa(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||iv(l,u);p&&f.tickFormat(p);let m=rv(r),h=m?r.domain():[],g=m&&s!==`vertical`&&Di(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*X_,t=av(h,p)>e;s===`vertical`?v=!0:t&&(_=mv(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`),x=b&&Pi(r,b);if(!x&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=cv(h,c,p);e.length<h.length&&(x=e)}}else{let e=Ni(r,Math.max(2,Math.floor(c/G_)));e?x=e:f.ticks(lv(r,c,p))}}x&&f.tickValues(x);let S=i===`above`?0:a,C=e.node(),w=t===`merge`?V_():0;if(t===`merge`){if(!C)return;w>0?(e.attr(`transform`,`translate(0,${S})`),e.duration(w).call(f)):Q(C).attr(`transform`,`translate(0,${S})`).call(f)}else e.attr(`transform`,`translate(0,${S})`),e.call(f);let T=C?Q(C):e,E=w>0?e:T;if(!this.config(`showAxis`))T.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);E.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||T.selectAll(`.tick line`).remove(),y===`off`?T.selectAll(`.tick text`).remove():y===`inside`&&E.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?E.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(E.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&_v(E,c)),_&&y!==`off`&&hv(E,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&vv(n,e,t)}};function _v(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=__(i.textContent??``,K_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function vv(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`,yv[t]??null)})}var yv={dashed:`4,4`,dotted:`1,3`};function bv(e,t,n,r={},i){let a=new gv(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=rv(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 xv=30;function Sv(e){return typeof e.bandwidth==`function`}var Cv=class extends Hg{initialize(){this.configDefine(`scale`,{defaultValue:Bf()}),this.configDefine(`direction`,{defaultValue:Hr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Wr.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:Gr.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===Hr.Right?Da(t):ka(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(Pi(t,l));else if(s>0){let e=Math.max(2,Math.floor(s/xv)),n=Ni(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&&!Sv(t)?r_(e):null;n&&c.tickFormat(n)}let d=V_(),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===Gr.Auto?o>0&&o<400?Gr.Inside:Gr.Outside:a;if(t===Gr.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===Hr.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===Gr.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===Hr.Right?Da(t):ka(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(Pi(t,c));else if(a>0){let e=Math.max(2,Math.floor(a/xv)),n=Ni(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&&!Sv(t)?r_(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===Gr.Auto?i>0&&i<400?Gr.Inside:Gr.Outside:r;if(f===Gr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Hr.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===Hr.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===Gr.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&&Tv(r,e,n===Hr.Right?-t:t)}},wv={[Wr.Dashed]:`4,4`,[Wr.Dotted]:`1,3`};function Tv(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Wr.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`,wv[t]??null)})}function Ev(e){return typeof e.step==`function`}var Dv=new WeakMap,Ov=new WeakMap;function kv(e,t){let n=Ov.get(e);Ov.set(e,t),n!==void 0&&n!==t&&Dv.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=Dv.get(t);return n||(n=new e(t),Dv.set(t,n)),n}static clear(e){Dv.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 Cv(Q(this.vGroup)),this.hChart=new gv(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=V_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=Mc(e,0),r=Mc(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=Ev(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,Dv.delete(this.container)}},jv=Math.min,Mv=Math.max,Nv=Math.round,Pv=e=>({x:e,y:e}),Fv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Iv(e,t,n){return Mv(e,jv(t,n))}function Lv(e,t){return typeof e==`function`?e(t):e}function Rv(e){return e.split(`-`)[0]}function zv(e){return e.split(`-`)[1]}function Bv(e){return e===`x`?`y`:`x`}function Vv(e){return e===`y`?`height`:`width`}function Hv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Uv(e){return Bv(Hv(e))}function Wv(e,t,n){n===void 0&&(n=!1);let r=zv(e),i=Uv(e),a=Vv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=$v(o)),[o,$v(o)]}function Gv(e){let t=$v(e);return[Kv(e),t,Kv(t)]}function Kv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var qv=[`left`,`right`],Jv=[`right`,`left`],Yv=[`top`,`bottom`],Xv=[`bottom`,`top`];function Zv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Jv:qv:t?qv:Jv;case`left`:case`right`:return t?Yv:Xv;default:return[]}}function Qv(e,t,n,r){let i=zv(e),a=Zv(Rv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Kv)))),a}function $v(e){let t=Rv(e);return Fv[t]+e.slice(t.length)}function ey(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function ty(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ey(e)}function ny(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 ry(e,t,n){let{reference:r,floating:i}=e,a=Hv(t),o=Uv(t),s=Vv(o),c=Rv(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=zv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function iy(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}=Lv(t,e),p=ty(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ny(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=ny(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 ay=50,oy=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:iy},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ry(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<ay&&(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}=ry(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},sy=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}=Lv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Rv(r),_=Hv(o),v=Rv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[$v(o)]:Gv(o)),x=p!==`none`;!d&&x&&b.push(...Qv(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`||_===Hv(t)||T.every(e=>Hv(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=Hv(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{}}}},cy=new Set([`left`,`top`]);async function ly(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Rv(n),s=zv(n),c=Hv(n)===`y`,l=cy.has(o)?-1:1,u=a&&c?-1:1,d=Lv(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 uy=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 ly(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}}}}},dy=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}=Lv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Hv(i),p=Bv(f),m=u[p],h=u[f],g=(e,t)=>Iv(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 fy(){return typeof window<`u`}function py(e){return gy(e)?(e.nodeName||``).toLowerCase():`#document`}function my(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function hy(e){return((gy(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function gy(e){return fy()?e instanceof Node||e instanceof my(e).Node:!1}function _y(e){return fy()?e instanceof Element||e instanceof my(e).Element:!1}function vy(e){return fy()?e instanceof HTMLElement||e instanceof my(e).HTMLElement:!1}function yy(e){return!fy()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof my(e).ShadowRoot}function by(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=jy(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function xy(e){return/^(table|td|th)$/.test(py(e))}function Sy(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Cy=/transform|translate|scale|rotate|perspective|filter/,wy=/paint|layout|strict|content/,Ty=e=>!!e&&e!==`none`,Ey;function Dy(e){let t=_y(e)?jy(e):e;return Ty(t.transform)||Ty(t.translate)||Ty(t.scale)||Ty(t.rotate)||Ty(t.perspective)||!ky()&&(Ty(t.backdropFilter)||Ty(t.filter))||Cy.test(t.willChange||``)||wy.test(t.contain||``)}function Oy(e){let t=Ny(e);for(;vy(t)&&!Ay(t);){if(Dy(t))return t;if(Sy(t))return null;t=Ny(t)}return null}function ky(){return Ey??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ey}function Ay(e){return/^(html|body|#document)$/.test(py(e))}function jy(e){return my(e).getComputedStyle(e)}function My(e){return _y(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ny(e){if(py(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||yy(e)&&e.host||hy(e);return yy(t)?t.host:t}function Py(e){let t=Ny(e);return Ay(t)?(e.ownerDocument||e).body:vy(t)&&by(t)?t:Py(t)}function Fy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Py(e),i=r===e.ownerDocument?.body,a=my(r);if(i){let e=Iy(a);return t.concat(a,a.visualViewport||[],by(r)?r:[],e&&n?Fy(e):[])}return t.concat(r,Fy(r,[],n))}function Iy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ly(e){let t=jy(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=vy(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Nv(n)!==a||Nv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ry(e){return _y(e)?e:e.contextElement}function zy(e){let t=Ry(e);if(!vy(t))return Pv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ly(t),o=(a?Nv(n.width):n.width)/r,s=(a?Nv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var By=Pv(0);function Vy(e){let t=my(e);return!ky()||!t.visualViewport?By:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Hy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===my(e)}function Uy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ry(e),o=Pv(1);t&&(r?_y(r)&&(o=zy(r)):o=zy(e));let s=Hy(a,n,r)?Vy(a):Pv(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=my(a),t=_y(r)?my(r):r,n=e,i=Iy(n);for(;i&&t!==n;){let e=zy(i),t=i.getBoundingClientRect(),r=jy(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=my(i),i=Iy(n)}}return ny({width:u,height:d,x:c,y:l})}function Wy(e,t){let n=My(e).scrollLeft;return t?t.left+n:Uy(hy(e)).left+n}function Gy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Wy(e,n),y:n.top+t.scrollTop}}function Ky(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=hy(r),s=t?Sy(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Pv(1),u=Pv(0),d=vy(r);if((d||!a)&&((py(r)!==`body`||by(o))&&(c=My(r)),d)){let e=Uy(r);l=zy(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Gy(o,c):Pv(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 qy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Jy(e){let t=My(e),n=e.ownerDocument.body,r=Mv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Mv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Wy(e),o=-t.scrollTop;return jy(n).direction===`rtl`&&(a+=Mv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Yy=25;function Xy(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=my(e),a=hy(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ky()||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<=Yy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Zy(e,t){let n=Uy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=zy(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Qy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Xy(e,n,t);else if(t===`document`)r=Jy(hy(e));else if(_y(t))r=Zy(t,n);else{let n=Vy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ny(r)}function $y(e,t){let n=t.get(e);if(n)return n;let r=Fy(e,[],!1).filter(e=>_y(e)&&py(e)!==`body`),i=null,a=jy(e).position===`fixed`,o=a?Ny(e):e;for(;_y(o)&&!Ay(o);){let e=jy(o),t=Dy(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Ny(o)}return t.set(e,r),r}function eb(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Sy(t)?[]:$y(t,this._c):[].concat(n),r],o=Qy(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=Qy(t,a[e],i);s=Mv(n.top,s),c=jv(n.right,c),l=jv(n.bottom,l),u=Mv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function tb(e){let{width:t,height:n}=Ly(e);return{width:t,height:n}}function nb(e,t,n){let r=vy(t),i=hy(t),a=n===`fixed`,o=Uy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Pv(0);if((r||!a)&&((py(t)!==`body`||by(i))&&(s=My(t)),r)){let e=Uy(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?Gy(i,s):Pv(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 rb(e){return jy(e).position===`static`}function ib(e,t){if(!vy(e)||jy(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return hy(e)===n&&(n=n.ownerDocument.body),n}function ab(e,t){let n=my(e);if(Sy(e))return n;if(!vy(e)){let t=Ny(e);for(;t&&!Ay(t);){if(_y(t)&&!rb(t))return t;t=Ny(t)}return n}let r=ib(e,t);for(;r&&xy(r)&&rb(r);)r=ib(r,t);return r&&Ay(r)&&rb(r)&&!Dy(r)?n:r||Oy(e)||n}var ob=async function(e){let t=this.getOffsetParent||ab,n=this.getDimensions,r=await n(e.floating);return{reference:nb(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function sb(e){return jy(e).direction===`rtl`}var cb={convertOffsetParentRelativeRectToViewportRelativeRect:Ky,getDocumentElement:hy,getClippingRect:eb,getOffsetParent:ab,getElementRects:ob,getClientRects:qy,getDimensions:tb,getScale:zy,isElement:_y,isRTL:sb},lb=uy,ub=dy,db=sy,fb=(e,t,n)=>{let r=new Map,i=n??{},a={...cb,...i.platform,_c:r};return oy(e,t,{...i,platform:a})},pb=`bc-tooltip`;function mb(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
320
+ .${pb} {
321
321
  position: absolute;
322
322
  pointer-events: none;
323
323
  background: var(--bs-body-bg, #fff);
@@ -332,10 +332,10 @@ body {
332
332
  z-index: 9999;
333
333
  display: none;
334
334
  }
335
- `,document.head.appendChild(e)}function mb(e){let t=e?n_(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 hb(e){let t=e?.format??mb(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){pb(),n=document.createElement(`div`),n.className=fb,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`,db(e,n,{placement:`top`,middleware:[cb(8),ub(),lb()]}).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 gb(e){switch(e){case li.Solid:return`none`;case li.Dotted:return`2,2`;case li.Dashed:default:return`4,3`}}function _b(e){let t=e?.color??`#999`,n=e?.dashArray??gb(e?.style),r=e?.direction??ci.Both,i=e?.orientation??Zr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===ci.Both||r===ci.Vertical,d=r===ci.Both||r===ci.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===Zr.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 vb=`bc-scene`;function yb(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 bb(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=yb(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 xb={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}},Sb={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}};Kr.N,Kr.W,Kr.NE,Kr.NW,Kr.E,Kr.N,Kr.SE,Kr.NE,Kr.S,Kr.E,Kr.SW,Kr.SE,Kr.W,Kr.S,Kr.NW,Kr.SW,Kr.Center,Kr.Center;function Cb(e,t){let n=xb[e]??xb.NW;return{dx:n.dx*t,dy:n.dy*t}}function wb(e){return`step`in e&&!(`bandwidth`in e)}function Tb(e){if(`bandwidth`in e||wb(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function Eb(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return wb(e)?e(t)??0:Tb(e)?e(new Date(t)):e(Number(t))}function Db(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=Sb[e]??Sb.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function Ob(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`?Db(r,{left:l,right:c,top:o,bottom:o+s}):Db(r,{left:o,right:o+s,top:c,bottom:l})}return kb({x:e.x===void 0?Eb(t,e.label):t(e.x),y:n(e.value)},r)}function kb(e,t){let n=xb[t]??xb.N;return{x:e.x+n.dx*2,y:e.y+n.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 jb(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 Mb(e){switch(e){case Jr.Dotted:return`2,3`;case Jr.Dashed:return`5,4`;default:return``}}var Nb=4,Pb=12;function Fb(e){return e!==void 0&&e>0?e:Nb}function Ib(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,Fb(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=Mb(r.style??Jr.Solid);a&&i.attr(`stroke-dasharray`,a)}var Lb=1/Math.tan(40*Math.PI/180);function Rb(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)*Lb,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)*Lb,12);return{x:e.x+r*i,y:e.y}}function zb(e,t,n){let r=Rb(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function Bb(e,t,n,r=qr.Direct,i={}){let a;switch(r){case qr.CurveLeft:case qr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===qr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case qr.Elbow:a=zb(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=jb(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function Vb(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`,`${Pb}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(`
336
- `);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)Hb(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 Hb(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(`
337
- `)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&g_(e,Pb)>n?(i(t),t=r):t=e;let a=v_(t,n,Pb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=v_(t,n,Pb,``)}i(t)}}function Ub(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function Wb(e,t,n=Xr.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(wb(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 Ub(e,t)}function Gb(e,t){return Ub(e,t)}function Kb(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 qb(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 Jb(e){return e<-4?`end`:e>4?`start`:`middle`}function Yb(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:Eb(t,e.label),y:n(e.value)}}function Xb(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&&Yb(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??Kr.N,f=o?Ob(o,n.scaleX,n.scaleY,d,n.orientation):kb(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=Cb(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&&Ib(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=Jb(p-f.x);Vb(c,t.text,v,y-4,{textColor:t.textColor,maxWidth:qb(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=Ab(n,f.x,f.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=u.showCircle?Fb(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=xb[d]??xb.N;o=!u||Math.abs(p.dx)>.01?e:f.x,s=!u||Math.abs(p.dy)>.01?l:f.y}}Bb(c,e,{x:o,y:s},u.lineStyle??qr.Direct,{showArrow:u.showArrow,lineWeight:u.lineWeight,color:g,departVertical:t})}}function Zb(e,t,n){let r=(t??Xr.Center)===Xr.Center?n.markCenter?.(String(e)):void 0;return r?n.orientation===Zr.Horizontal?r.y:r.x:Wb(e,n.scaleX,t)}function Qb(e,t,n,r,i){if(t.kind!==Yr.Range)return;let a=(t.orientation??Zr.Vertical)===Zr.Vertical,o=a?Zb(t.start,t.startAnchor,n):Gb(t.start,n.scaleY),s=a?Zb(t.end,t.endAnchor,n):Gb(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===Zr.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=qb(t.maxWidth,n.width)??Math.max(e,50),s=xb[t.direction??`center`]??xb.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`),Vb(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 $b(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=Kb(t.x,n.width),s=Kb(t.y,n.height);if(t.text){Vb(i,t.text,o,s,{textColor:t.textColor,maxWidth:qb(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 ex(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function tx(e,t){let n=e.hasAttribute(`marker-end`),r=yb(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===qr.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(ju).attrTween(`d`,()=>{let t=Mc(i,e);return e=>{let n=t(e);return ex(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===qr.CurveLeft||r.style===qr.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===qr.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(ju).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(ju).attrTween(`d`,()=>{let e=jc(r.fromX,r.toX),t=jc(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(ju).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var nx=1;function rx(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=nx&&Math.abs(e.fromY-t.fromY)<=nx&&Math.abs(e.toX-t.toX)<=nx&&Math.abs(e.toY-t.toY)<=nx}function ix(e,t,n){let r=yb(e.parentElement);if(!r||rx(t,r))return;let i=Q(e);if(t.style===qr.Elbow&&r.style===qr.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`,ex(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(Mu).attrTween(`d`,()=>{let t=Mc(e,a);return e=>{let n=t(e);return ex(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(Mu).attrTween(`d`,()=>{let e=Mc(a,s),n=Mc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===qr.Direct||t.style===qr.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===qr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function ax(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 ox(e,t,n){let[r,i]=ax(t),[a,o]=ax(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(vb).duration(n).ease(Mu).attrTween(`transform`,()=>e=>u(1-e))}var sx=[`x`,`y`,`width`,`height`];function cx(e,t,n){let r=Q(e),i=r.transition(vb).duration(n).ease(Mu);for(let n of sx)i.attr(n,e.getAttribute(n)),r.attr(n,t.getAttribute(n))}function lx(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&&ix(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&&ox(n,a,r)}let n=e.querySelector(`.bc-annotation-range`),a=i.element.querySelector(`.bc-annotation-range`);n&&a&&cx(n,a,r)}else{let t=e.querySelector(`.bc-annotation-line`);t&&tx(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 ux=16;function dx(e){return Array.from(e.querySelectorAll(`*`)).some(e=>Lu(e,vb))}function fx(e,t=0){if(!e)return;if(t>0){setTimeout(()=>fx(e,dx(e)?ux: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 px(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),jb(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 bb(t))a.set(e,n);if(n)for(let[e,t]of bb(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??Yr.Point){case Yr.Point:Xb(s,r,n,e);break;case Yr.Range:Qb(o,r,n,e,s);break;case Yr.Free:$b(s,r,n,e)}}let c=0;n.transition&&(c=L_(500),lx(s.node(),o.node(),a??new Map,c)),fx(r,c)}function mx(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),jb(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 bb(e))c.set(t,n);if(t)for(let[e,n]of bb(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??Yr.Point){case Yr.Point:Xb(u,r,t,n);break;case Yr.Range:Qb(l,r,t,n,u);break;case Yr.Free:$b(u,r,t,n)}}let d=0;t.transition&&(d=L_(500),lx(u.node(),l.node(),c??new Map,d)),fx(i,d)}}}function hx(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var gx=new WeakMap;function _x(e){return gx.get(e)}function vx(e,t){gx.set(e,t)}var yx=0,bx=new WeakMap;function xx(e,t,n,r){let i=bx.get(t);i||(i=new Map,bx.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++yx}`,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 Sx=class extends Vg{initialize(){}};function Cx(e){return new Sx(e)}function wx(e,t,n){if(n!==ti.Ascending&&n!==ti.Descending)return[...e];let r=n===ti.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 Tx(e,t){return e.reduce((e,n)=>e+(n.values[t]??0),0)}function Ex(e,t,{sortMode:n,sortSeries:r,sortReverse:i}){let a=t.find(e=>e.name===r)??t[0],o=n===ii.Total?wx(e,(e,n)=>Tx(t,n),ti.Descending):n===ii.Series&&a?wx(e,(e,t)=>a.values[t]??0,ti.Descending):e;return i?[...o].reverse():o}function Dx(e,t){let n=new Map;return e.forEach((e,r)=>{wx(t,e=>e.values[r]??0,ti.Descending).forEach((r,i)=>{n.set(`${e}\0${r.name}`,t[i].name)})}),(e,t)=>n.get(`${e}\0${t}`)??t}var Ox=500,kx=new Set,Ax=new WeakMap;function jx(e){let t=Ax.get(e);return t||(t=new Nx(e),Ax.set(e,t)),t}function Mx(e){Ax.delete(e)}var Nx=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`){kx.has(t)||(kx.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??Ox,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=Ou(vb).duration(r).ease(Mu);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(vb),Q(this.container).selectAll(`*`).interrupt(vb),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(),Mx(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 Fx(e,t){return e.tagName===t.tagName}function Ix(e,t){Q(e).interrupt(vb);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function Lx(e,t){let n=Rx(e),r=Rx(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++,zx(e)})}}function Rx(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function zx(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var Bx={opacity:0},Vx=new Set([`d`,`transform`]),Hx=new Set([`stroke-dasharray`]);function Ux(e,t){if(e.state===`idle`||e.state===`animating`){Wx(t);return}e.register(()=>Gx(e,t))}function Wx(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());Kx(n,e),n.merge(t).each(function(t){Yx(this,e.attrs(t))})}function Gx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=Jx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();Xx(e,t.exitTo?t.exitTo(r):Bx,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=Px(e.container,t.role),s=t.insert(r.enter());Kx(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(qx(t.key(e)));if(s&&Fx(s,r)){Yx(r,Ix(s,i)),Xx(r,a,n);return}Yx(r,t.enterFrom?t.enterFrom(e):a),Xx(r,a,n)}else Yx(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(Ix(r,i),Xx(r,a,n)):Yx(r,a)})}function Kx(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>qx(t.key(e)))}function qx(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function Jx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function Yx(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function Xx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(Vx.has(n)){let e=String(i);r.attrTween(n,function(){return Lx(this.getAttribute(n)??e,e)})}else Hx.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function Zx(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);Qx(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function Qx(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 Lx(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 $x=.35;function eS(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function tS(e,t,n=1){return e.size===0||e.has(t)?n:$x}var nS=11,rS=6.2,iS=nS,aS=8,oS=4,sS=14;function cS(e){return Math.max(g_(e,nS),e.length*rS)}function lS(e){let t=cS(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-aS&&iS<=e.barHeight:iS<=e.barHeight-oS&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=sS}var uS=8,dS=4,fS=7,pS=`11px sans-serif`;function mS(e,t=pS){let n=e.length*fS;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 hS(e,t,n,r){let i=e.length*fS/2,a=i+dS-r.margin.left,o=r.width+r.margin.right-i-dS,s=12-r.margin.top,c=r.height+r.margin.bottom-dS,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-uS,s),Math.max(s,c))}}var gS=4;function _S(e){return Math.max(0,Math.min(13,e-gS))}var vS=400;function yS(e,t){return e>0&&e<vS&&t!==Wr.Outside}var bS=[ae[0]],xS=4,SS=8;function CS(e,t,n={},r=!1){z_(r);let i=null,a,o,s,c=[],l=kv.for(e);if(r){let t=_x(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=H_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))a.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=P_(u).width,f=n.categoryLabelLine===!0,p=k_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Wr.Off:n.horizontalAxis?.labelPosition,h=M_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=fv(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=I_(u,h),b=v-(f?_S(v):0),x=y_(o,y),S={left:y.left,top:y.top,width:_,height:b},C=wx(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=Cf().domain(O).range([0,_]).padding(Ai(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=ji(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?ep().domain([j,M]).nice().range([b,0]):zf().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:Wr.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=hx(n.colorizes),L=(e,t)=>I.get(e)??(t<0&&n.negativeColor||(n.colors??bS)[0]),R=eS(n.highlights,O),z=g.ownerSVGElement,B=xx(z,e,`bars`,{x:0,y:0,width:_,height:b}),V=Q(z).select(`defs`),H=B.replace(/^bc-clip-/,``),ee=Q(g).append(`g`).attr(`clip-path`,`url(#${B})`);if(n.barBackground){let e=(n.colors??bS)[0],t=E?O:w.map(e=>e.label);ee.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 U=E?O:w.map(e=>e.label);if(n.barSeparators&&U.length>1){let e=k.step();for(let t=1;t<U.length;t++){let n=(k(U[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;ee.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.connectionsOpacity??.15;for(let t=0;t<w.length-1;t++){let n=w[t],r=w[t+1];if(n.value==null||r.value==null||Number.isNaN(n.value)||Number.isNaN(r.value)||n.value===0||r.value===0)continue;let i=(k(n.label)??0)+k.bandwidth(),a=k(r.label)??0,o=Math.min(N(0),N(n.value)),s=Math.min(N(0),N(r.value)),c=N(0),l=L(n.label,n.value),u=L(r.label,r.value),d;if(l===u)d=l;else{let e=`bc-conn-grad-${H}-${t}`,n=V.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);n.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,l),n.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,u),d=`url(#${e})`}ee.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${i},${o} ${a},${s} ${a},${c} ${i},${c}`).attr(`fill`,d).attr(`opacity`,e).attr(`pointer-events`,`none`)}}let te=Q(g).append(`g`);if(E){let e=`#333`;if(n.connectedColumns&&D.length>1){let e=n.connectionsOpacity??.15;for(let t=0;t<D.length-1;t++){let n=D[t],r=D[t+1];if(r.isTotal||n.value==null||r.value==null||Number.isNaN(n.value)||Number.isNaN(r.value)||n.value===0||r.value===0)continue;let i=(k(n.label)??0)+k.bandwidth(),a=k(r.label)??0,o=N(n.y1),s=N(r.y1),c=N(n.y0),l=N(r.y0),u=L(n.label,n.value),d=L(r.label,r.value),f;if(u===d)f=u;else{let e=`bc-conn-grad-${H}-${t}`,n=V.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);n.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),n.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}ee.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${i},${o} ${a},${s} ${a},${l} ${i},${c}`).attr(`fill`,f).attr(`opacity`,e).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;ee.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(ee.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`,t=>t.isTotal?e:L(t.label,t.value)).attr(`opacity`,e=>R.size>0?tS(R,e.label):null),n.valueLabels){let t=n.valueLabelPosition??si.Auto,r=e=>r_(e,n.verticalAxis?.numberFormat);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 n=Math.min(N(e.y0),N(e.y1)),r=Math.abs(N(e.y0)-N(e.y1));return t===si.Inside?n+r/2:n-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,t===si.Inside?`central`:`auto`).attr(`fill`,n=>t===si.Inside?Dr(n.isTotal?e:L(n.label,n.value)):`currentColor`).text(e=>T?e.label:r(e.isTotal?e.y1:e.value))}}else{let t=jx(e),i=ee.append(`g`).node();if(r)for(let e of c)i.appendChild(e);Ux(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:L(e.label,e.value),opacity:tS(R,e.label)})}),Zx(t,{svg:z,clipId:B,group:g,from:s,to:S,active:r&&c.length>0});let o=Cx(ee);n.tooltips&&o.use(hb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(_b({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(mx(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:kr(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);t.state===`committing`?t.register(l):l(),n.valueLabels&&TS(te,w,k,N,{position:n.valueLabelPosition,barColor:L,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:fa(w,e=>e.value),formatValue:e=>r_(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)}vx(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(V_(ee.node()),U_(e,i))}function wS(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+xS:c-xS,m=u?p+SS<=i.plotHeight+i.marginBottom:p-SS>=-i.marginTop,h=l-c,g=(r===si.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 TS(e,t,n,r,i){let a=i.position??si.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?i_(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=jx(c),u=t.filter(e=>lS({text:o(e),placement:a===si.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));Ux(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=wS(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?Dr(i.barColor(e.label,e.value)):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}var ES=[ae[0]],DS=4;function OS(e,t,n={},r=!1){z_(r);let i=null,a,o,s=[],c,l=kv.for(e);if(r){let t=_x(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=H_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))a.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=P_(u).width,f=yS(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=j_(t.labels),h=M_(d,p?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??si.Auto,_=n.swapLabelValue===!0,v=e=>r_(e,n.horizontalAxis?.numberFormat);if(n.valueLabels&&g!==si.Inside){if(_){let e=mS(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?mS(v(n))+8:0,a=r<0?mS(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}=I_(u,h),C={left:S.left,top:S.top,width:b,height:x},w=y_(o,S),T=wx(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]=ji(D?O.flatMap(e=>[e.x0,e.x1]):E.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),M=k?ep().domain([A,j]).nice().range([0,b]):zf().domain([A,j]).nice().range([0,b]),N=D?O.map(e=>e.label):T,P=Cf().domain(N).range([0,x]).padding(Ai(n.barGap)),F=p?_S(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:Wr.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=hx(n.colorizes),z=eS(n.highlights,N),B=y.ownerSVGElement,V=xx(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??ES)[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??ES,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??ES,t=`#333`;if(n.connectedColumns&&O.length>1){let e=n.colors??ES,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?tS(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===si.Inside?t-4:t+4}).attr(`text-anchor`,n===si.Inside?`end`:`start`).attr(`fill`,r=>n===si.Inside?Dr(r.isTotal?t:R.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:v(e.isTotal?e.x1:e.value))}}else{let t=jx(e),i=U.append(`g`).node();if(r)for(let e of s)i.appendChild(e);Ux(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??ES)[0],opacity:tS(z,e.label)})}),Zx(t,{svg:B,clipId:V,group:y,from:c,to:C,active:r&&s.length>0});let o=Cx(U);n.tooltips&&o.use(hb({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(_b({width:b,height:x,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length&&o.use(mx(n.annotations,{scaleX:P,scaleY:M,data:E,width:b,height:x,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(E);t.state===`committing`?t.register(l):l(),n.valueLabels&&AS(Q(y).append(`g`),E,M,P,{position:g,colorOverrides:R,colors:n.colors??ES,transition:r,swapLabelValue:_,categoryLabelOffset:F,percent:n.valueLabels===`percent`,total:fa(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)}}vx(e,{chartType:`bar-horizontal`,margin:S,plotRect:C}),i&&(V_(U.node()),U_(e,i))}function kS(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-DS-o>=DS-a.marginLeft:f+DS+o<=a.plotWidth+a.marginRight-DS,m=d?a.plotWidth-f:f,h=(r===si.Inside||u||!p)&&m>=o+DS;return h?d?{tx:f+DS,ty:s,anchor:`start`,isInside:h}:{tx:f-DS,ty:s,anchor:`end`,isInside:h}:d?{tx:f-DS,ty:s,anchor:`end`,isInside:h}:{tx:f+DS,ty:s,anchor:`start`,isInside:h}}function AS(e,t,n,r,i){let a=i.position??si.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?i_(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=jx(l),d=t.filter(e=>lS({text:s(e),placement:a===si.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));Ux(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=kS(e,n,r,a,o,i.bounds,mS(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?Dr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}var jS=12,MS=16,NS=12,PS=8;function FS(e){return e>0?e-MS-NS:1/0}function IS(e,t=``,n=0){let r=t?` ${t}`:``,i=v_(e,FS(n)-g_(r,jS),jS);return{label:i,suffix:r,width:MS+g_(i+r,jS)+NS}}function LS(e){return __(e,jS)+MS+PS}function RS(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:LS(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 zS(e){return e.length===0?0:__(e,jS)+10}var BS=200,VS=.2,HS=class extends Vg{initialize(){this.configDefine(`colors`,{defaultValue:ae}),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 US(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:VS)}),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:VS)})}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),L_(BS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function WS(e,t,n=ae,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new HS(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=LS(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 US(e),p}function GS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function KS(e,t){if(t<=e.length)return e;let n=e.filter(e=>Tr.valid(e));return n.length<2?e:Tr.scale(n).mode(`lch`).colors(t)}function qS(e,t){return t?.find(t=>t.name===e)}function JS(e,t,n,r){return qS(e,r)?.color??n[t%n.length]}function YS(e,t){return qS(e,t)?.dash??`solid`}function XS(e,t){return qS(e,t)?.lineWidth??2}function ZS(e,t,n){let r=qS(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function QS(e,t){return qS(e,t)?.hidden??!1}function $S(e,t,n){let r=qS(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function eC(e,t,n){let r=qS(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function tC(e,t){return qS(e,t)?.opacity??1}function nC(e,t,n){let r=qS(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 rC=4,iC=16,aC=8;function oC(e,t,n={},r=!1){z_(r);let i=null,a,o,s=[],c,l=kv.for(e);if(r){let t=_x(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=H_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))a.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=t.series??[],f=d.filter(e=>!QS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=KS(n.colors??ae,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??si.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?di.Auto:di.Off,x=n.legend!==!1&&!g,S=P_(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=k_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=M_(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?RS(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=(fv(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!==di.Inside,R=I&&y!==si.Inside,z=L&&R?iC:rC;(L||R)&&(N.top=(N.top??0)+z+aC);let{chartArea:B,width:V,height:H,margin:ee}=I_(u,N),U=y_(o,ee),[te,ne]=ji(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 re=Ex(t.labels,d,n),ie=Cf().domain(re).range([0,V]).padding(Ai(n.barGap)),W=Cf().domain(p).range([0,ie.bandwidth()]).padding(.05),oe=n.verticalAxis?.scaleType===`log`,se=oe?ep().domain([te,ne]).nice().range([H,0]):zf().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:ie,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=n.sortMode===ii.WithinGroups?Dx(t.labels,f):null,le=[];t.labels.forEach((e,t)=>{f.forEach(n=>{let r=d.findIndex(e=>e.name===n.name),i=ce?ce(e,n.name):n.name;le.push({label:e,series:i,seriesName:n.name,value:n.values[t],seriesIndex:r})})});let ue=B.ownerSVGElement,de=xx(ue,e,`bars`,{x:0,y:0,width:V,height:H}),fe=Q(B).append(`g`).attr(`clip-path`,`url(#${de})`),pe=jx(e),G=eS(n.highlights,le.map(e=>e.seriesName)),K=hx(n.colorizes),me=fe.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),me.appendChild(e);Ux(pe,{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=JS(e.seriesName,e.seriesIndex,m,h),n=tC(e.seriesName,h),r={"data-series":e.seriesName,x:(ie(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:K.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),G.size>0?{...r,opacity:tS(G,e.seriesName)}:r}});let he={left:ee.left,top:ee.top,width:V,height:H};Zx(pe,{svg:ue,clipId:de,group:B,from:c,to:he,active:r&&s.length>0});let ge=Cx(fe);if(n.tooltips&&ge.use(hb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ge.use(_b({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(mx(n.annotations,{scaleX:ie,scaleY:se,data:i,width:V,height:H,backgroundColor:kr(e),transition:r,priorAnnotations:a}))}let _e=()=>ge.draw(le);pe.state===`committing`?pe.register(_e):_e(),vx(e,{chartType:`bar-multi`,margin:ee,plotRect:he}),i&&(V_(fe.node()),U_(e,i));let ve=new Set;f.forEach(e=>{$S(e.name,_,h)===`direct`&&ve.add(e.name)});let ye=ve.size>0,be=kr(e),xe=n.directLabelAnchor??`middle`;function Se(){return y===si.Inside?si.Inside:(si.Outside,si.Outside)}function Ce(e){return b===di.Inside?si.Inside:b===di.Outside?si.Outside:v?Se():si.Outside}function we(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let Te=Q(B).append(`g`).attr(`class`,`bc-value-labels`);le.forEach(e=>{if(!eC(e.seriesName,v,h))return;let t=(ie(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,r=Math.min(se(0),se(e.value)),i=Math.abs(se(e.value)-se(0)),a=Se(),o=ye&&ve.has(e.seriesName),s=e.value<0,c=r+i,l,u,d;a===si.Inside?(u=Dr(JS(e.seriesName,e.seriesIndex,m,h)),d=`central`,l=o&&Ce(i)===si.Inside?we(r,i,xe)+14:r+i/2):(u=`currentColor`,s?(l=o&&Ce(i)===si.Outside?c+iC:c+rC,d=`hanging`):(l=o&&Ce(i)===si.Outside?r-iC:r-rC,d=`auto`));let f=r_(e.value,n.verticalAxis?.numberFormat);lS({text:f,placement:a===si.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:W.bandwidth(),barHeight:i})&&Te.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,l).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,d).attr(`font-size`,`11px`).attr(`fill`,u).text(f)}),le.forEach(e=>{if(!ve.has(e.seriesName))return;let t=(ie(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=JS(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===si.Inside){let e=we(n,r,xe);s.attr(`y`,e).attr(`fill`,Dr(o)),xe===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-rC).attr(`fill`,Ar(o,be))});let q=p.filter(e=>$S(e,_,h)===`legend`);if(x&&q.length>0){let e=q.map(e=>JS(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);WS(B,q,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var sC={linear:Dh,monotoneX:dg,step:pg,stepBefore:mg,stepAfter:hg,basis:$h,cardinal:ng,catmullRom:ag};function cC(e){return e&&sC[e]||Dh}var lC=`bc-tooltip`,uC=new WeakMap;function dC(e){let t=uC.get(e);t&&(uC.delete(e),t())}function fC(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
338
- .${lC} {
335
+ `,document.head.appendChild(e)}function hb(e){let t=e?r_(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 gb(e){let t=e?.format??hb(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){mb(),n=document.createElement(`div`),n.className=pb,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`,fb(e,n,{placement:`top`,middleware:[lb(8),db(),ub()]}).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 _b(e){switch(e){case ui.Solid:return`none`;case ui.Dotted:return`2,2`;case ui.Dashed:default:return`4,3`}}function vb(e){let t=e?.color??`#999`,n=e?.dashArray??_b(e?.style),r=e?.direction??li.Both,i=e?.orientation??Qr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===li.Both||r===li.Vertical,d=r===li.Both||r===li.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===Qr.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 yb=`bc-scene`;function bb(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 xb(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=bb(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 Sb={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}},Cb={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}};qr.N,qr.W,qr.NE,qr.NW,qr.E,qr.N,qr.SE,qr.NE,qr.S,qr.E,qr.SW,qr.SE,qr.W,qr.S,qr.NW,qr.SW,qr.Center,qr.Center;function wb(e,t){let n=Sb[e]??Sb.NW;return{dx:n.dx*t,dy:n.dy*t}}function Tb(e){return`step`in e&&!(`bandwidth`in e)}function Eb(e){if(`bandwidth`in e||Tb(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function Db(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return Tb(e)?e(t)??0:Eb(e)?e(new Date(t)):e(Number(t))}function Ob(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=Cb[e]??Cb.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function kb(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`?Ob(r,{left:l,right:c,top:o,bottom:o+s}):Ob(r,{left:o,right:o+s,top:c,bottom:l})}return Ab({x:e.x===void 0?Db(t,e.label):t(e.x),y:n(e.value)},r)}function Ab(e,t){let n=Sb[t]??Sb.N;return{x:e.x+n.dx*2,y:e.y+n.dy*2}}function jb(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 Mb(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 Nb(e){switch(e){case Yr.Dotted:return`2,3`;case Yr.Dashed:return`5,4`;default:return``}}var Pb=4,Fb=12;function Ib(e){return e!==void 0&&e>0?e:Pb}function Lb(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,Ib(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=Nb(r.style??Yr.Solid);a&&i.attr(`stroke-dasharray`,a)}var Rb=1/Math.tan(40*Math.PI/180);function zb(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)*Rb,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)*Rb,12);return{x:e.x+r*i,y:e.y}}function Bb(e,t,n){let r=zb(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function Vb(e,t,n,r=Jr.Direct,i={}){let a;switch(r){case Jr.CurveLeft:case Jr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===Jr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case Jr.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=Mb(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function Hb(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`,`${Fb}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(`
336
+ `);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)Ub(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 Ub(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(`
337
+ `)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&__(e,Fb)>n?(i(t),t=r):t=e;let a=y_(t,n,Fb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=y_(t,n,Fb,``)}i(t)}}function Wb(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function Gb(e,t,n=Zr.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(Tb(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(Eb(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return Wb(e,t)}function Kb(e,t){return Wb(e,t)}function qb(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 Jb(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 Yb(e){return e<-4?`end`:e>4?`start`:`middle`}function Xb(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:Db(t,e.label),y:n(e.value)}}function Zb(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&&Xb(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??qr.N,f=o?kb(o,n.scaleX,n.scaleY,d,n.orientation):Ab(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=wb(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&&Lb(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=Yb(p-f.x);Hb(c,t.text,v,y-4,{textColor:t.textColor,maxWidth:Jb(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=jb(n,f.x,f.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=u.showCircle?Ib(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=Sb[d]??Sb.N;o=!u||Math.abs(p.dx)>.01?e:f.x,s=!u||Math.abs(p.dy)>.01?l:f.y}}Vb(c,e,{x:o,y:s},u.lineStyle??Jr.Direct,{showArrow:u.showArrow,lineWeight:u.lineWeight,color:g,departVertical:t})}}function Qb(e,t,n){let r=(t??Zr.Center)===Zr.Center?n.markCenter?.(String(e)):void 0;return r?n.orientation===Qr.Horizontal?r.y:r.x:Gb(e,n.scaleX,t)}function $b(e,t,n,r,i){if(t.kind!==Xr.Range)return;let a=(t.orientation??Qr.Vertical)===Qr.Vertical,o=a?Qb(t.start,t.startAnchor,n):Kb(t.start,n.scaleY),s=a?Qb(t.end,t.endAnchor,n):Kb(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===Qr.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=Jb(t.maxWidth,n.width)??Math.max(e,50),s=Sb[t.direction??`center`]??Sb.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`),Hb(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 ex(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=qb(t.x,n.width),s=qb(t.y,n.height);if(t.text){Hb(i,t.text,o,s,{textColor:t.textColor,maxWidth:Jb(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 tx(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function nx(e,t){let n=e.hasAttribute(`marker-end`),r=bb(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===Jr.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(Mu).attrTween(`d`,()=>{let t=Nc(i,e);return e=>{let n=t(e);return tx(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===Jr.CurveLeft||r.style===Jr.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===Jr.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(Mu).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(Mu).attrTween(`d`,()=>{let e=Mc(r.fromX,r.toX),t=Mc(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(Mu).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var rx=1;function ix(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=rx&&Math.abs(e.fromY-t.fromY)<=rx&&Math.abs(e.toX-t.toX)<=rx&&Math.abs(e.toY-t.toY)<=rx}function ax(e,t,n){let r=bb(e.parentElement);if(!r||ix(t,r))return;let i=Q(e);if(t.style===Jr.Elbow&&r.style===Jr.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`,tx(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(Nu).attrTween(`d`,()=>{let t=Nc(e,a);return e=>{let n=t(e);return tx(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(Nu).attrTween(`d`,()=>{let e=Nc(a,s),n=Nc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===Jr.Direct||t.style===Jr.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===Jr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function ox(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 sx(e,t,n){let[r,i]=ox(t),[a,o]=ox(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(yb).duration(n).ease(Nu).attrTween(`transform`,()=>e=>u(1-e))}var cx=[`x`,`y`,`width`,`height`];function lx(e,t,n){let r=Q(e),i=r.transition(yb).duration(n).ease(Nu);for(let n of cx)i.attr(n,e.getAttribute(n)),r.attr(n,t.getAttribute(n))}function ux(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&&ax(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&&sx(n,a,r)}let n=e.querySelector(`.bc-annotation-range`),a=i.element.querySelector(`.bc-annotation-range`);n&&a&&lx(n,a,r)}else{let t=e.querySelector(`.bc-annotation-line`);t&&nx(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 dx=16;function fx(e){return Array.from(e.querySelectorAll(`*`)).some(e=>Ru(e,yb))}function px(e,t=0){if(!e)return;if(t>0){setTimeout(()=>px(e,fx(e)?dx: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 mx(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),Mb(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 xb(t))a.set(e,n);if(n)for(let[e,t]of xb(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??Xr.Point){case Xr.Point:Zb(s,r,n,e);break;case Xr.Range:$b(o,r,n,e,s);break;case Xr.Free:ex(s,r,n,e)}}let c=0;n.transition&&(c=R_(500),ux(s.node(),o.node(),a??new Map,c)),px(r,c)}function hx(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),Mb(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 xb(e))c.set(t,n);if(t)for(let[e,n]of xb(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??Xr.Point){case Xr.Point:Zb(u,r,t,n);break;case Xr.Range:$b(l,r,t,n,u);break;case Xr.Free:ex(u,r,t,n)}}let d=0;t.transition&&(d=R_(500),ux(u.node(),l.node(),c??new Map,d)),px(i,d)}}}function gx(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var _x=new WeakMap;function vx(e){return _x.get(e)}function yx(e,t){_x.set(e,t)}var bx=0,xx=new WeakMap;function Sx(e,t,n,r){let i=xx.get(t);i||(i=new Map,xx.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++bx}`,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 Cx=class extends Hg{initialize(){}};function wx(e){return new Cx(e)}function Tx(e,t,n){if(n!==ni.Ascending&&n!==ni.Descending)return[...e];let r=n===ni.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 Ex(e,t){return e.reduce((e,n)=>e+(n.values[t]??0),0)}function Dx(e,t,{sortMode:n,sortSeries:r,sortReverse:i}){let a=t.find(e=>e.name===r)??t[0],o=n===ai.Total?Tx(e,(e,n)=>Ex(t,n),ni.Descending):n===ai.Series&&a?Tx(e,(e,t)=>a.values[t]??0,ni.Descending):e;return i?[...o].reverse():o}function Ox(e,t){let n=new Map;return e.forEach((e,r)=>{Tx(t,e=>e.values[r]??0,ni.Descending).forEach((r,i)=>{n.set(`${e}\0${r.name}`,t[i].name)})}),(e,t)=>n.get(`${e}\0${t}`)??t}var kx=500,Ax=new Set,jx=new WeakMap;function Mx(e){let t=jx.get(e);return t||(t=new Px(e),jx.set(e,t)),t}function Nx(e){jx.delete(e)}var Px=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`){Ax.has(t)||(Ax.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??kx,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=ku(yb).duration(r).ease(Nu);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(yb),Q(this.container).selectAll(`*`).interrupt(yb),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(),Nx(this.container)}};function Fx(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 Ix(e,t){return e.tagName===t.tagName}function Lx(e,t){Q(e).interrupt(yb);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=zx(e),r=zx(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++,Bx(e)})}}function zx(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function Bx(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var Vx={opacity:0},Hx=new Set([`d`,`transform`]),Ux=new Set([`stroke-dasharray`]);function Wx(e,t){if(e.state===`idle`||e.state===`animating`){Gx(t);return}e.register(()=>Kx(e,t))}function Gx(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());qx(n,e),n.merge(t).each(function(t){Xx(this,e.attrs(t))})}function Kx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=Yx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();Zx(e,t.exitTo?t.exitTo(r):Vx,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=Fx(e.container,t.role),s=t.insert(r.enter());qx(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(Jx(t.key(e)));if(s&&Ix(s,r)){Xx(r,Lx(s,i)),Zx(r,a,n);return}Xx(r,t.enterFrom?t.enterFrom(e):a),Zx(r,a,n)}else Xx(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(Lx(r,i),Zx(r,a,n)):Xx(r,a)})}function qx(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>Jx(t.key(e)))}function Jx(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function Yx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function Xx(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function Zx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(Hx.has(n)){let e=String(i);r.attrTween(n,function(){return Rx(this.getAttribute(n)??e,e)})}else Ux.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function Qx(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);$x(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function $x(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 eS=.35;function tS(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function nS(e,t,n=1){return e.size===0||e.has(t)?n:eS}var rS=11,iS=6.2,aS=rS,oS=8,sS=4,cS=14;function lS(e){return Math.max(__(e,rS),e.length*iS)}function uS(e){let t=lS(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-oS&&aS<=e.barHeight:aS<=e.barHeight-sS&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=cS}var dS=8,fS=4,pS=7,mS=`11px sans-serif`;function hS(e,t=mS){let n=e.length*pS;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 gS(e,t,n,r){let i=e.length*pS/2,a=i+fS-r.margin.left,o=r.width+r.margin.right-i-fS,s=12-r.margin.top,c=r.height+r.margin.bottom-fS,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-dS,s),Math.max(s,c))}}var _S=4;function vS(e){return Math.max(0,Math.min(13,e-_S))}var yS=400;function bS(e,t){return e>0&&e<yS&&t!==Gr.Outside}var xS=[ae[0]],SS=4,CS=8;function wS(e,t,n={},r=!1){B_(r);let i=null,a,o,s,c=[],l=Av.for(e);if(r){let t=vx(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=U_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))a.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=F_(u).width,f=n.categoryLabelLine===!0,p=A_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Gr.Off:n.horizontalAxis?.labelPosition,h=N_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=pv(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=L_(u,h),b=v-(f?vS(v):0),x=b_(o,y),S={left:y.left,top:y.top,width:_,height:b},C=Tx(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=wf().domain(O).range([0,_]).padding(ji(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=Mi(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?tp().domain([j,M]).nice().range([b,0]):Bf().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:Gr.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=gx(n.colorizes),L=(e,t)=>I.get(e)??(t<0&&n.negativeColor||(n.colors??xS)[0]),R=tS(n.highlights,O),z=g.ownerSVGElement,B=Sx(z,e,`bars`,{x:0,y:0,width:_,height:b}),V=Q(z).select(`defs`),H=B.replace(/^bc-clip-/,``),ee=Q(g).append(`g`).attr(`clip-path`,`url(#${B})`);if(n.barBackground){let e=(n.colors??xS)[0],t=E?O:w.map(e=>e.label);ee.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 U=E?O:w.map(e=>e.label);if(n.barSeparators&&U.length>1){let e=k.step();for(let t=1;t<U.length;t++){let n=(k(U[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;ee.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.connectionsOpacity??.15;for(let t=0;t<w.length-1;t++){let n=w[t],r=w[t+1];if(n.value==null||r.value==null||Number.isNaN(n.value)||Number.isNaN(r.value)||n.value===0||r.value===0)continue;let i=(k(n.label)??0)+k.bandwidth(),a=k(r.label)??0,o=Math.min(N(0),N(n.value)),s=Math.min(N(0),N(r.value)),c=N(0),l=L(n.label,n.value),u=L(r.label,r.value),d;if(l===u)d=l;else{let e=`bc-conn-grad-${H}-${t}`,n=V.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);n.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,l),n.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,u),d=`url(#${e})`}ee.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${i},${o} ${a},${s} ${a},${c} ${i},${c}`).attr(`fill`,d).attr(`opacity`,e).attr(`pointer-events`,`none`)}}let te=Q(g).append(`g`);if(E){let e=`#333`;if(n.connectedColumns&&D.length>1){let e=n.connectionsOpacity??.15;for(let t=0;t<D.length-1;t++){let n=D[t],r=D[t+1];if(r.isTotal||n.value==null||r.value==null||Number.isNaN(n.value)||Number.isNaN(r.value)||n.value===0||r.value===0)continue;let i=(k(n.label)??0)+k.bandwidth(),a=k(r.label)??0,o=N(n.y1),s=N(r.y1),c=N(n.y0),l=N(r.y0),u=L(n.label,n.value),d=L(r.label,r.value),f;if(u===d)f=u;else{let e=`bc-conn-grad-${H}-${t}`,n=V.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);n.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),n.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}ee.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${i},${o} ${a},${s} ${a},${l} ${i},${c}`).attr(`fill`,f).attr(`opacity`,e).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;ee.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(ee.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`,t=>t.isTotal?e:L(t.label,t.value)).attr(`opacity`,e=>R.size>0?nS(R,e.label):null),n.valueLabels){let t=n.valueLabelPosition??ci.Auto,r=e=>i_(e,n.verticalAxis?.numberFormat);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 n=Math.min(N(e.y0),N(e.y1)),r=Math.abs(N(e.y0)-N(e.y1));return t===ci.Inside?n+r/2:n-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,t===ci.Inside?`central`:`auto`).attr(`fill`,n=>t===ci.Inside?Or(n.isTotal?e:L(n.label,n.value)):`currentColor`).text(e=>T?e.label:r(e.isTotal?e.y1:e.value))}}else{let t=Mx(e),i=ee.append(`g`).node();if(r)for(let e of c)i.appendChild(e);Wx(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:L(e.label,e.value),opacity:nS(R,e.label)})}),Qx(t,{svg:z,clipId:B,group:g,from:s,to:S,active:r&&c.length>0});let o=wx(ee);n.tooltips&&o.use(gb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(vb({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(hx(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:Ar(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);t.state===`committing`?t.register(l):l(),n.valueLabels&&ES(te,w,k,N,{position:n.valueLabelPosition,barColor:L,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:pa(w,e=>e.value),formatValue:e=>i_(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)}yx(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(H_(ee.node()),W_(e,i))}function TS(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+SS:c-SS,m=u?p+CS<=i.plotHeight+i.marginBottom:p-CS>=-i.marginTop,h=l-c,g=(r===ci.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 ES(e,t,n,r,i){let a=i.position??ci.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?a_(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=Mx(c),u=t.filter(e=>uS({text:o(e),placement:a===ci.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));Wx(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=TS(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?Or(i.barColor(e.label,e.value)):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}var DS=[ae[0]],OS=4;function kS(e,t,n={},r=!1){B_(r);let i=null,a,o,s=[],c,l=Av.for(e);if(r){let t=vx(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=U_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))a.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=F_(u).width,f=bS(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=M_(t.labels),h=N_(d,p?Gr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??ci.Auto,_=n.swapLabelValue===!0,v=e=>i_(e,n.horizontalAxis?.numberFormat);if(n.valueLabels&&g!==ci.Inside){if(_){let e=hS(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?hS(v(n))+8:0,a=r<0?hS(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}=L_(u,h),C={left:S.left,top:S.top,width:b,height:x},w=b_(o,S),T=Tx(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]=Mi(D?O.flatMap(e=>[e.x0,e.x1]):E.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),M=k?tp().domain([A,j]).nice().range([0,b]):Bf().domain([A,j]).nice().range([0,b]),N=D?O.map(e=>e.label):T,P=wf().domain(N).range([0,x]).padding(ji(n.barGap)),F=p?vS(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:Gr.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=gx(n.colorizes),z=tS(n.highlights,N),B=y.ownerSVGElement,V=Sx(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??DS)[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??DS,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??DS,t=`#333`;if(n.connectedColumns&&O.length>1){let e=n.colors??DS,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?nS(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===ci.Inside?t-4:t+4}).attr(`text-anchor`,n===ci.Inside?`end`:`start`).attr(`fill`,r=>n===ci.Inside?Or(r.isTotal?t:R.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:v(e.isTotal?e.x1:e.value))}}else{let t=Mx(e),i=U.append(`g`).node();if(r)for(let e of s)i.appendChild(e);Wx(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??DS)[0],opacity:nS(z,e.label)})}),Qx(t,{svg:B,clipId:V,group:y,from:c,to:C,active:r&&s.length>0});let o=wx(U);n.tooltips&&o.use(gb({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(vb({width:b,height:x,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Qr.Horizontal})),n.annotations?.length&&o.use(hx(n.annotations,{scaleX:P,scaleY:M,data:E,width:b,height:x,backgroundColor:Ar(e),orientation:Qr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(E);t.state===`committing`?t.register(l):l(),n.valueLabels&&jS(Q(y).append(`g`),E,M,P,{position:g,colorOverrides:R,colors:n.colors??DS,transition:r,swapLabelValue:_,categoryLabelOffset:F,percent:n.valueLabels===`percent`,total:pa(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)}}yx(e,{chartType:`bar-horizontal`,margin:S,plotRect:C}),i&&(H_(U.node()),W_(e,i))}function AS(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===ci.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 jS(e,t,n,r,i){let a=i.position??ci.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?a_(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=Mx(l),d=t.filter(e=>uS({text:s(e),placement:a===ci.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));Wx(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=AS(e,n,r,a,o,i.bounds,hS(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?Or(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}var MS=12,NS=16,PS=12,FS=8;function IS(e){return e>0?e-NS-PS:1/0}function LS(e,t=``,n=0){let r=t?` ${t}`:``,i=y_(e,IS(n)-__(r,MS),MS);return{label:i,suffix:r,width:NS+__(i+r,MS)+PS}}function RS(e){return v_(e,MS)+NS+FS}function zS(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:RS(e),height:e.length*20};let r=e.map(e=>LS(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 BS(e){return e.length===0?0:v_(e,MS)+10}var VS=200,HS=.2,US=class extends Hg{initialize(){this.configDefine(`colors`,{defaultValue:ae}),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=LS(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 WS(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:HS)}),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:HS)})}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),R_(VS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function GS(e,t,n=ae,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new US(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)=>LS(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=RS(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 WS(e),p}function KS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function qS(e,t){if(t<=e.length)return e;let n=e.filter(e=>Er.valid(e));return n.length<2?e:Er.scale(n).mode(`lch`).colors(t)}function JS(e,t){return t?.find(t=>t.name===e)}function YS(e,t,n,r){return JS(e,r)?.color??n[t%n.length]}function XS(e,t){return JS(e,t)?.dash??`solid`}function ZS(e,t){return JS(e,t)?.lineWidth??2}function QS(e,t,n){let r=JS(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function $S(e,t){return JS(e,t)?.hidden??!1}function eC(e,t,n){let r=JS(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function tC(e,t,n){let r=JS(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function nC(e,t){return JS(e,t)?.opacity??1}function rC(e,t,n){let r=JS(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 iC=4,aC=16,oC=8;function sC(e,t,n={},r=!1){B_(r);let i=null,a,o,s=[],c,l=Av.for(e);if(r){let t=vx(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=U_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))a.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=t.series??[],f=d.filter(e=>!$S(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=qS(n.colors??ae,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??ci.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?fi.Auto:fi.Off,x=n.legend!==!1&&!g,S=F_(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=N_(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?zS(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=(pv(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!==fi.Inside,R=I&&y!==ci.Inside,z=L&&R?aC:iC;(L||R)&&(N.top=(N.top??0)+z+oC);let{chartArea:B,width:V,height:H,margin:ee}=L_(u,N),U=b_(o,ee),[te,ne]=Mi(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 re=Dx(t.labels,d,n),ie=wf().domain(re).range([0,V]).padding(ji(n.barGap)),W=wf().domain(p).range([0,ie.bandwidth()]).padding(.05),oe=n.verticalAxis?.scaleType===`log`,se=oe?tp().domain([te,ne]).nice().range([H,0]):Bf().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:ie,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=n.sortMode===ai.WithinGroups?Ox(t.labels,f):null,le=[];t.labels.forEach((e,t)=>{f.forEach(n=>{let r=d.findIndex(e=>e.name===n.name),i=ce?ce(e,n.name):n.name;le.push({label:e,series:i,seriesName:n.name,value:n.values[t],seriesIndex:r})})});let ue=B.ownerSVGElement,de=Sx(ue,e,`bars`,{x:0,y:0,width:V,height:H}),fe=Q(B).append(`g`).attr(`clip-path`,`url(#${de})`),pe=Mx(e),me=tS(n.highlights,le.map(e=>e.seriesName)),G=gx(n.colorizes),K=fe.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),K.appendChild(e);Wx(pe,{role:`mark-per-cell`,parent:K,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=YS(e.seriesName,e.seriesIndex,m,h),n=nC(e.seriesName,h),r={"data-series":e.seriesName,x:(ie(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:G.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),me.size>0?{...r,opacity:nS(me,e.seriesName)}:r}});let he={left:ee.left,top:ee.top,width:V,height:H};Qx(pe,{svg:ue,clipId:de,group:B,from:c,to:he,active:r&&s.length>0});let ge=wx(fe);if(n.tooltips&&ge.use(gb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ge.use(vb({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(hx(n.annotations,{scaleX:ie,scaleY:se,data:i,width:V,height:H,backgroundColor:Ar(e),transition:r,priorAnnotations:a}))}let _e=()=>ge.draw(le);pe.state===`committing`?pe.register(_e):_e(),yx(e,{chartType:`bar-multi`,margin:ee,plotRect:he}),i&&(H_(fe.node()),W_(e,i));let ve=new Set;f.forEach(e=>{eC(e.name,_,h)===`direct`&&ve.add(e.name)});let ye=ve.size>0,be=Ar(e),xe=n.directLabelAnchor??`middle`;function Se(){return y===ci.Inside?ci.Inside:(ci.Outside,ci.Outside)}function Ce(e){return b===fi.Inside?ci.Inside:b===fi.Outside?ci.Outside:v?Se():ci.Outside}function we(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let Te=Q(B).append(`g`).attr(`class`,`bc-value-labels`);le.forEach(e=>{if(!tC(e.seriesName,v,h))return;let t=(ie(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,r=Math.min(se(0),se(e.value)),i=Math.abs(se(e.value)-se(0)),a=Se(),o=ye&&ve.has(e.seriesName),s=e.value<0,c=r+i,l,u,d;a===ci.Inside?(u=Or(YS(e.seriesName,e.seriesIndex,m,h)),d=`central`,l=o&&Ce(i)===ci.Inside?we(r,i,xe)+14:r+i/2):(u=`currentColor`,s?(l=o&&Ce(i)===ci.Outside?c+aC:c+iC,d=`hanging`):(l=o&&Ce(i)===ci.Outside?r-aC:r-iC,d=`auto`));let f=i_(e.value,n.verticalAxis?.numberFormat);uS({text:f,placement:a===ci.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:W.bandwidth(),barHeight:i})&&Te.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,l).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,d).attr(`font-size`,`11px`).attr(`fill`,u).text(f)}),le.forEach(e=>{if(!ve.has(e.seriesName))return;let t=(ie(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=YS(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===ci.Inside){let e=we(n,r,xe);s.attr(`y`,e).attr(`fill`,Or(o)),xe===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-iC).attr(`fill`,jr(o,be))});let Ee=p.filter(e=>eC(e,_,h)===`legend`);if(x&&Ee.length>0){let e=Ee.map(e=>YS(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);GS(B,Ee,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var cC={linear:Oh,monotoneX:fg,step:mg,stepBefore:hg,stepAfter:gg,basis:eg,cardinal:rg,catmullRom:og};function lC(e){return e&&cC[e]||Oh}var uC=`bc-tooltip`,dC=new WeakMap;function fC(e){let t=dC.get(e);t&&(dC.delete(e),t())}function pC(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
338
+ .${uC} {
339
339
  position: absolute;
340
340
  pointer-events: none;
341
341
  background: var(--bs-body-bg, #fff);
@@ -351,10 +351,10 @@ body {
351
351
  white-space: pre-line;
352
352
  display: none;
353
353
  }
354
- `,document.head.appendChild(e)}function pC(e){let t=e?n_(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 mC(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=ci.Both,crosshairStyle:l=li.Dashed,crosshairColor:u=`#999`,format:d=pC(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&uC.set(f,e),e}let p=l===li.Solid?`none`:l===li.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(fC(),g=document.createElement(`div`),g.className=lC,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===ci.Both||c===ci.Vertical),x=s&&(c===ci.Both||c===ci.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`?Md.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=Vi(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]=Fs(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`,db(w.node(),g,{placement:`top`,middleware:[cb(8),ub(),lb()]}).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&&uC.get(f)===j&&uC.delete(f)};return f&&uC.set(f,j),j}var hC={circle:Fh,square:Bh,diamond:zh,triangle:qh,triangleDown:Yh??qh,cross:Ih,star:Gh};function gC(e,t,n){switch(n){case $r.First:return e===0;case $r.Last:return e===t-1;case $r.FirstLast:return e===0||e===t-1;case $r.All:default:return!0}}function _C(e,t,n,r,i=2){return r===`everyN`?n%i===0:gC(e,t,r)}function vC(e,t,n,r,i=!1){let a=r.symbol??Qr.Circle,o=r.showOn??$r.FirstLast,s=r.style??ei.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=>gC(e.index,n,o)),f=i?B_():0;if(a===Qr.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===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.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===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.Hollow?1.5:0).attr(`opacity`,l)}else{let t=hC[a]??Fh,n=Math.PI*c*c,r=Xh().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===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.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===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.Hollow?1.5:0).attr(`opacity`,l)}}var yC=ae[0];function bC(e,t,n={},r=!1){z_(r),dC(e);let i=[],a=[],o=null,s=null,c,l,u,d=kv.for(e);if(r){let t=_x(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=H_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))c.set(e,n);e.replaceChildren()}let{body:f}=$g(e,n.frame),p=P_(f).width,m=k_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=M_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=fv(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}=I_(f,h),x=y_(l,b),S=ki(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=Tf().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]=ji(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?ep().domain([j,M]).nice().range([y,0]):zf().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=xx(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]??yC,V=cC(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,U=e=>Number.isFinite(e.value),te=jh().curve(V).defined(U).x(e=>k(e)).y0(n.areaFillBaseline===`zero`?N(0):y).y1(e=>N(e.value)),ne=Ah().curve(V).defined(U).x(e=>k(e)).y(e=>N(e.value)),re=e=>n.connectGaps?e.filter(U):e,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 W=jx(e),oe=[{name:`line`,points:T}];Ux(W,{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:te(re(e.points))??``,fill:B,opacity:ee})}),Ux(W,{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:ne(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(Zx(W,{svg:I,clipId:L,group:_,from:u,to:se,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&px(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:kr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&mC(_,{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=>r_(e.value,n.verticalAxis?.numberFormat),r=e=>hS(t(e),k(e),N(e.value),{width:v,height:y,margin:b}),i=E.filter((e,t)=>_C(t,E.length,T.indexOf(e),n.valueLabelPoints,n.valueLabelEvery));e.selectAll(`.bc-value-label`).data(i,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>r(e).x).attr(`y`,e=>r(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,B).text(t)}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`),vC(t,e,T.length,n.lineSymbols,r)}vx(e,{chartType:`line`,margin:b,plotRect:se}),s&&(V_(R.node()),U_(e,s))}var xC=28,SC=18,CC=20,wC=12,TC=.3;function EC(e,t,n,r=xC){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 DC(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+SC,c=xC/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=EC(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*CC;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`);r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Ar(e.color,a)).text(e.label),c&&y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(e.valueText)})}d(u,!0),d(l,!1)}var OC=.3;function kC(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||g_(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=Dr(e.color);t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n&&d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(e.valueText)}c.length>0&&DC(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function AC(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=g_(e.label,a);n>r*1.2&&t>=OC&&r<=u*2?c.push(e):l.push(e)}c.length>0&&kC(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&DC(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function jC(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+__(e,wC)+6,i=e.length*xC/2,a=Math.max(10,i-t+20),o=MC(r,n.width),s=MC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function MC(e,t){return t>0?Math.min(e,t*TC):e}function NC(e,t,n={},r=!1){z_(r),dC(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=kv.for(e);if(r){let t=_x(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=H_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))l.set(e,n);e.replaceChildren()}let{body:p}=$g(e,n.frame),m=i.series??[],h=m.filter(e=>!QS(e.name,n.seriesOverrides));(n.sortMode===ii.Total||n.sortMode===ii.WithinGroups)&&(h=wx(h,e=>e.values.reduce((e,t)=>e+t,0),ti.Descending));let g=KS(n.colors??ae,m.length),_=h.map(e=>e.name),v=hx(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=>$S(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=P_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=ki(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=k_(A,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),M=M_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?zS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?RS(_,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=(fv(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}=I_(p,R),ee=y_(u,H),[U,te]=ji(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),ne=Tf().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),re=ne,ie=e=>ne(i.labels[e])??0,W=n.verticalAxis?.scaleType===`log`?ep().domain([U,te]).nice().range([V,0]):zf().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:re,height:V,options:{...n.horizontalAxis,width:B,zeroY:se}}});let ce=z.ownerSVGElement,le=xx(ce,e,`plot`,{x:0,y:0,width:B,height:V}),ue=Q(z).append(`g`).attr(`clip-path`,`url(#${le})`),de=ue.node(),fe=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),pe=cC(n.interpolation);n.areaFills?.length&&PC(de,n.areaFills,h,ie,i.labels.length,W,pe);let G=e=>Number.isFinite(e),K=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{G(e.values[r])&&K.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=eS(n.highlights,_),ve=n.areaFill??!1,ye=n.areaFillOpacity??.2,be=e=>v.get(e.name)??JS(e.name,e.colorIndex,g,y),xe=e=>{let t=e.values.map((e,t)=>[t,e]);return y?.find(t=>t.name===e.name)?.connectGaps??n.connectGaps?t.filter(e=>G(e[1])):t},Se=jh().curve(pe).defined(e=>G(e[1])).x(e=>ie(e[0])).y0(V).y1(e=>W(e[1])),Ce=jx(e),we=Q(de).append(`g`).node(),Te=Q(de).append(`g`).node(),q=new Set(fe.map(e=>e.name));if(r){for(let e of a)q.has(e.__data__?.name??``)&&we.appendChild(e);for(let e of o)q.has(e.__data__?.name??``)&&Te.appendChild(e)}Ux(Ce,{role:`series-area`,parent:we,selector:`.bc-area`,data:ve?fe:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(xe(e))??``,fill:be(e),opacity:tS(_e,e.name,ye)})}),Ux(Ce,{role:`series-line`,parent:Te,selector:`.bc-line`,data:fe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=ZS(e.name,n.interpolation??`linear`,y),r=Ah().curve(cC(t)).defined(e=>G(e[1])).x(e=>ie(e[0])).y(e=>W(e[1]));return{"data-series":e.name,d:r(xe(e))??``,fill:`none`,stroke:be(e),style:`stroke-width:${XS(e.name,y)}`,"stroke-dasharray":he[YS(e.name,y)]??``,opacity:tS(_e,e.name,1)}}}),Q(de).append(`g`).selectAll(`.bc-dot`).data(K,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ie(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 Ee={left:H.left,top:H.top,width:B,height:V};if(Zx(Ce,{svg:ce,clipId:le,group:z,from:d,to:Ee,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}));px(z,n.annotations,{scaleX:re,scaleY:W,data:t,width:B,height:V,backgroundColor:kr(e),transition:r,priorAnnotations:l})}let De=Q(z).insert(`g`,()=>de.nextSibling).attr(`class`,`bc-value-labels`);Yi(K,e=>e.series).forEach(e=>e.forEach((t,r)=>{let a=i.labels.indexOf(t.label);if(!eC(t.series,ge,y)||!_C(r,e.length,a,n.valueLabelPoints,n.valueLabelEvery))return;let o=ie(a),s=W(t.value),c=r_(t.value,n.verticalAxis?.numberFormat),l=hS(c,o,s,{width:B,height:V,margin:H});De.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,t.series).attr(`x`,l.x).attr(`y`,l.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,be({name:t.series,values:[],colorIndex:t.colorIndex})).attr(`opacity`,tS(_e,t.series,1)).text(c)})),(n.tooltips||n.crosshair)&&mC(z,{width:B,height:V,points:K.map(e=>({cx:ie(i.labels.indexOf(e.label)),cy:W(e.value),label:e.label,value:e.value,series:e.series,color:JS(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 Oe=me?{name:``,lineSymbols:!0,symbolShape:me.symbol,symbolShowOn:me.showOn,symbolStyle:me.style,symbolSize:me.size,symbolOpacity:me.opacity}:void 0,ke=i.labels.length;h.forEach((e,t)=>{let n=nC(e.name,Oe,y);if(!n)return;let a={symbol:n.symbolShape??me?.symbol??Qr.Circle,showOn:n.symbolShowOn??me?.showOn??$r.FirstLast,style:n.symbolStyle??me?.style??ei.Filled,size:n.symbolSize??me?.size??3.5,opacity:n.symbolOpacity??me?.opacity??1},o=i.labels.map((n,r)=>({cx:ie(r),cy:W(e.values[r]),color:JS(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),vC(l,o,ke,a,r&&u)});let Ae=i.labels.length-1,je=ie(Ae)+6,Me=[];if(h.forEach((e,t)=>{if($S(e.name,x,y)!==`direct`)return;let n=e.values[Ae];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;Me.push({name:e.name,index:t,naturalY:W(n),text:r})}),Me.length>0){Me.sort((e,t)=>e.naturalY-t.naturalY);let e=EC(Me.map(e=>e.naturalY),0,V,14);Me.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,je).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,JS(t.name,t.index,g,y)).text(t.text)})}let Ne=_.filter(e=>$S(e,x,y)===`legend`);if(C&&Ne.length>0){let e=Ne.map(e=>JS(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);WS(z,Ne,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}vx(e,{chartType:`line-multi`,margin:H,plotRect:Ee}),c&&(V_(ue.node()),U_(e,c))}function PC(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?cC(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)IC(s,t.values,i.values,r,a,c,u,d,l);else{let e=jh().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 FC(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 IC(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=FC(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 LC(e){return r_(Number(e.toPrecision(12)),`,`)}var RC=class extends Vg{initialize(){}};function zC(e,t,n={},r=!1){BC(e,t,n,.6,r)}function BC(e,t,n,r,i=!1){z_(i);let a=null,o;if(i){let t=_x(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=H_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))o.set(e,n);e.replaceChildren()}let{body:s}=$g(e,n.frame),c=wx(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(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)}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=n.verticalAxis?.numberFormat,m=t_(p||`.0%`).d3Spec.endsWith(`%`),h=(e,t)=>n.displayAsPercentage?r_(m?f[t]/100:f[t],p||`.0%`):p?r_(e,p):LC(e),g=KS(n.colors??ae,l.length),_=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?di.Auto:di.Off,v=!!_&&(_!==di.Auto||n.legend!==!0),y=(n.showValues??!0)&&!v?u.map((e,t)=>`(${h(e,t)})`):[],b=n.legend!==!1&&!v,x=P_(s).width,S=n.legendPosition??`top`,C=x>0&&x<350&&(S===`left`||S===`right`)?`top`:S,w=n.legendAnchor??`start`,T=y.length>0?l.map((e,t)=>`${e} ${y[t]}`):l,E=Math.max(0,x-50-20),D=b?RS(T,C,E):{width:0,height:0},O=b?D.height+15:0,k={};if(b&&C===`top`&&(k.top=O),b&&C===`bottom`&&(k.bottom=24+O),b&&C===`left`&&(k.left=50+D.width+10),b&&C===`right`&&(k.right=20+D.width+10),v){let e=P_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=jC(l,r,{width:t,height:n});k.left=(k.left??20)+i.left,k.right=(k.right??20)+i.right,k.top=(k.top??20)+i.top,k.bottom=(k.bottom??20)+i.bottom}let{chartArea:A,width:j,height:M,margin:N}=I_(s,k),P=Math.min(j,M)/2,F=P*r,I=Sf().domain(l).range(g),L=Ph().sort(null),R=wh().innerRadius(F).outerRadius(P),z=Q(A).append(`g`).attr(`transform`,`translate(${j/2},${M/2})`),B=hx(n.colorizes),V=L(u),H=V.map((e,t)=>({label:l[t],value:u[t],arc:e,color:B.get(l[t])??I(l[t])})),ee=jx(e),U=eS(n.highlights,l);Ux(ee,{role:`mark-per-category`,parent:z.append(`g`).node(),selector:`.bc-arc`,data:H,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:R(e.arc)??``,fill:e.color};return U.size>0?{...t,opacity:tS(U,e.label)}:t}});let te=new RC(z);if(n.tooltips&&te.use(hb()),te.draw(H),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(H.map(e=>[e.label,R.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&mx(a,{scaleX:Sf().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+j/2)),scaleY:zf().domain([0,1]).range([0,1]),data:H.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+M/2})),width:j,height:M,backgroundColor:kr(e),transition:i,priorAnnotations:o}).postDraw({base:Q(A)},void 0)}if(v){let t=V.map((e,t)=>({label:l[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:I(l[t]),valueText:h(e.data,t),showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=z,i={outerRadius:P,innerRadius:F,chartWidth:j,chartHeight:M,bgColor:kr(e)};_===di.Inside?kC(r,t,i):_===di.Auto?AC(r,t,i):DC(r,t,i)}let ne=n.centerLabel??`total`;if(n.showTotal&&r>0&&!(ne===`total`&&n.displayAsPercentage)){let e=Math.max(0,l.indexOf(n.centerSlice??``)),[t,r]=ne===`slice`?[l[e],r_(f[e]/100,`.0%`)]:ne===`custom`?[``,n.centerText??``]:[n.totalLabel??`Total`,p?r_(d,p):LC(d)];t&&z.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(t),z.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,t?`1em`:`0.35em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(r)}if(b){let e=0,t=0;C===`top`?t=-(D.height+10):C===`bottom`?t=M+25:C===`left`?e=-(D.width+10):C===`right`&&(e=j+10),WS(A,l,g,t,C,w,j,M,e,y,{left:N.left,right:N.right})}vx(e,{chartType:r>0?`donut`:`pie`}),a&&(V_(z.node()),U_(e,a))}function VC(e,t,n={},r=!1){BC(e,t,n,0,r)}var HC=ae[0];function UC(e,t,n={},r=!1){z_(r),dC(e);let i=[],a=[],o=null,s=null,c,l,u,d=kv.for(e);if(r){let t=_x(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=H_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))c.set(e,n);e.replaceChildren()}let{body:f}=$g(e,n.frame),p=P_(f).width,m=k_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=M_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=fv(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}=I_(f,h),x=y_(l,b),S=ki(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=Tf().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]=ji(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?ep().domain([j,M]).nice().range([y,0]):zf().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=xx(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]??HC,V=cC(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),U=jh().curve(V).defined(ee).x(e=>k(e)).y0(n.areaFillBaseline===`zero`?N(0):y).y1(e=>N(e.value)),te=Ah().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=jx(e),ae=[{name:`area`,points:T}];Ux(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})}),Ux(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(Zx(ie,{svg:I,clipId:L,group:_,from:u,to:W,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&px(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:kr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&mC(_,{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=>hS(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`),vC(t,e,T.length,n.lineSymbols,r)}vx(e,{chartType:`area`,margin:b,plotRect:W}),s&&(V_(R.node()),U_(e,s))}function WC(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 bg().keys(n).order(_g).offset(r?xg:gg)(i)}function GC(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 bg().keys(n).order(_g).offset(r?xg:gg)(i)}function KC(e){let t=new Map,n=[...e].sort((e,t)=>t.y1-t.y0-(e.y1-e.y0)),r=new Map;for(let e of n){let n=t.get(e.label)??{up:0,down:0};t.set(e.label,n);let i=e.y1-e.y0;e.y0<0?(r.set(e,{...e,y1:n.down,y0:n.down-i}),n.down-=i):(r.set(e,{...e,y0:n.up,y1:n.up+i}),n.up+=i)}return e.map(e=>r.get(e))}function qC(e,t,n={},r=!1){z_(r),dC(e);let i=t,a=[],o=[],s=null,c,l,u,d=kv.for(e);if(r){let t=_x(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=H_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))c.set(e,n);e.replaceChildren()}let{body:f}=$g(e,n.frame),p=ki(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=GS(i),h=m.filter(e=>!QS(e.name,n.seriesOverrides)),g=KS(n.colors??ae,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=hx(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=>$S(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=P_(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===ui.Percent,j=n.areaSortMode??ti.None,M=n.areaLines!==!1,N=wx(h,e=>e.values.reduce((e,t)=>e+t,0),j===ti.None||j===ti.Ascending?j:ti.Descending),P={labels:i.labels,values:i.values,series:N},F=A?GC(P):WC(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=k_(L,n.verticalAxis?.range,R,n.verticalAxis?.scaleType),B=M_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?zS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),U=w?RS(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=(fv(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:re,width:ie,height:W,margin:oe}=I_(f,ne),se=y_(l,oe),ce=Tf().domain(i.labels).range([0,ie]).padding(n.edgePadding?.6:0),le=ce,ue=e=>ce(i.labels[e])??0,[de,fe]=ji(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),pe=(n.verticalAxis?.scaleType===Hr.Log?ep():zf()).domain([de,fe]).nice().range([W,0]);d.attach(re,se),d.update({vertical:{scale:pe,height:W,options:{...n.verticalAxis,numberFormat:R,gridWidth:ie,topPadding:oe.top}},horizontal:{scale:le,height:W,options:{...n.horizontalAxis,width:ie}}});let G=re.ownerSVGElement,K=xx(G,e,`plot`,{x:0,y:0,width:ie,height:W}),me=Q(re).append(`g`).attr(`clip-path`,`url(#${K})`),he=me.node(),ge=cC(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=>[pe(e[0]),pe(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[pe(0),pe(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ve=eS(n.highlights,_e.map(e=>e.name)),ye=ve.size>0,be=n.areaFillOpacity==null?.85:n.areaFillOpacity,xe=e=>b.get(e.name)??JS(e.name,e.colorIndex,g,y),Se=jh().curve(ge).x((e,t)=>ue(t)).y0(e=>e[0]).y1(e=>e[1]),Ce=Q(he).append(`g`).node(),we=Q(he).append(`g`).node();if(r){for(let e of a)Ce.appendChild(e);for(let e of o)we.appendChild(e)}let Te=jx(e);Ux(Te,{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?tS(ve,e.name,be):be})}),Ux(Te,{role:`series-line`,parent:we,selector:`.bc-line`,data:M?_e:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=ZS(e.name,n.interpolation??`monotoneX`,y),r=Ah().curve(cC(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?tS(ve,e.name,1):1}}});let q={left:oe.left,top:oe.top,width:ie,height:W};if(Zx(Te,{svg:G,clipId:K,group:re,from:u,to:q,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}));px(re,n.annotations,{scaleX:le,scaleY:pe,data:t,width:ie,height:W,backgroundColor:kr(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:pe(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:JS(e.key,n,g,y)})})}),mC(re,{width:ie,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($S(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=pe((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=EC(Oe.map(e=>e.naturalY),0,W,14);Oe.forEach((t,n)=>{Q(re).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`,JS(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>$S(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>JS(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=ie+10);WS(re,ke,e,n,D,O,ie,W,t,[],{left:oe.left,right:oe.right})}vx(e,{chartType:`area-stacked`,margin:oe,plotRect:q}),s&&(V_(me.node()),U_(e,s))}var JC=4;function YC(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 XC(e,t,n={},r=!1){z_(r);let i=[],a=null,o,s,c,l=kv.for(e);if(r){let t=_x(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=H_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))o.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=GS(t),f=d.filter(e=>!QS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=KS(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=P_(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===ui.Percent,C=YC(S?GC(x):WC(x),t.labels,d),w=n.sortMode===ii.WithinGroups?KC(C):C,T=S?100:la(w,e=>e.y1)??0,E=S?Math.min(0,ua(w,e=>e.y0)??0):0,D=S?[E,T]:w.flatMap(e=>[e.y0,e.y1]),O=k_(D,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),k=M_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?RS(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===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let F=Math.max(0,_-(P.left??50)-(P.right??20));P.bottom=(fv(t.labels,F,n.horizontalAxis)??Math.max(P.bottom??24,24))+(y===`bottom`?N:0);let{chartArea:I,width:L,height:R,margin:z}=I_(u,P),B=y_(s,z),V=Ex(t.labels,d,n),H=Cf().domain(V).range([0,L]).padding(Ai(n.barGap)),[ee,U]=ji(D,n.verticalAxis?.range,n.verticalAxis?.scaleType),te=(n.verticalAxis?.scaleType===Hr.Log?ep():zf()).domain([ee,U]).nice().range([R,0]);l.attach(I,B),l.update({vertical:{scale:te,height:R,options:{...n.verticalAxis,gridWidth:L,topPadding:z.top}},horizontal:{scale:H,height:R,options:{...n.horizontalAxis,width:L}}});let ne=I.ownerSVGElement,re=xx(ne,e,`bars`,{x:0,y:0,width:L,height:R}),ie=Q(I).append(`g`).attr(`clip-path`,`url(#${re})`),W=V===t.labels?w:V.flatMap(e=>w.filter(t=>t.label===e)),oe=hx(n.colorizes),se=eS(n.highlights,w.map(e=>e.seriesName)),ce=jx(e),le=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);Ux(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:W,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)??JS(e.seriesName,e.seriesIndex,m,h),n=tC(e.seriesName,h),r={"data-series":e.seriesName,x:H(e.label)??0,y:te(e.y1),width:H.bandwidth(),height:te(e.y0)-te(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=tS(se,e.seriesName)),r}});let ue={left:z.left,top:z.top,width:L,height:R};Zx(ce,{svg:ne,clipId:re,group:I,from:c,to:ue,active:r&&i.length>0});let de=Cx(ie);if(n.tooltips&&de.use(hb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(_b({width:L,height:R,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)}));de.use(mx(n.annotations,{scaleX:H,scaleY:te,data:i,width:L,height:R,backgroundColor:kr(e),transition:r,priorAnnotations:o}))}let fe=()=>de.draw(W);ce.state===`committing`?ce.register(fe):fe(),vx(e,{chartType:`column-stacked`,margin:z,plotRect:ue}),a&&(V_(ie.node()),U_(e,a));let pe=n.valueLabels??!1,G=n.valueLabelPosition??si.Auto,K=Xi(W,e=>la(e,e=>e.y1)??0,e=>e.label),me=e=>e.y0<0?e.y1:e.y0,he=e=>e.y0<0?e.y0:e.y1,ge=new Map(W.filter(e=>e.value!==0).map(e=>[e.label+`\0`+me(e),e])),_e=n.showTotal===!0&&!S,ve=e=>n.verticalAxis?.numberFormat?r_(e,n.verticalAxis.numberFormat):String(Math.round(e*100)/100),ye=Q(I).append(`g`).attr(`class`,`bc-value-labels`);if(W.forEach(e=>{if(!eC(e.seriesName,pe,h))return;let t=(H(e.label)??0)+H.bandwidth()/2,r=Math.abs(te(e.y0)-te(e.y1)),i=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?i_(e.value,K.get(e.label)??0):ve(e.value),a=lS({text:i,placement:`inside`,orientation:`vertical`,barWidth:H.bandwidth(),barHeight:r}),o=ge.get(e.label+`\0`+he(e));if(G===si.Outside||G===si.Auto&&!a&&!o){let n=e.y0<0;if(_e&&!n&&!o)return;let a=te(he(e)),s=a+(n?15:-4),c=o?Math.abs(te(o.y1)-te(o.y0)):n?R+z.bottom-a:a+z.top;if(e.value===0||c<15||!lS({text:i,placement:`outside`,orientation:`vertical`,barWidth:H.bandwidth(),barHeight:r}))return;ye.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=oe.get(e.seriesName)??JS(e.seriesName,e.seriesIndex,m,h);ye.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,te(e.y0)-r/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Dr(s)).text(i)}),_e)for(let[e,t]of K)t<=0||ye.append(`text`).attr(`class`,`bc-total-label`).attr(`x`,(H(e)??0)+H.bandwidth()/2).attr(`y`,te(t)-JC).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`font-weight`,`bold`).attr(`fill`,`currentColor`).text(ve(t));if(g&&p.length>0){let e=p.map(e=>JS(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=R+Math.max(z.bottom-N,0):y===`left`?t=-(M.width+10):y===`right`&&(t=L+10);WS(I,p,e,n,y,b,L,R,t,[],{left:z.left,right:z.right})}}function ZC(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 QC(e,t,n={},r=!1){z_(r);let i=[],a=null,o,s,c,l=kv.for(e);if(r){let t=_x(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=H_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))o.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=GS(t),f=d.filter(e=>!QS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=KS(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=P_(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===ui.Percent,C=ZC(S?GC(x):WC(x),t.labels,d),w=n.sortMode===ii.WithinGroups?KC(C):C,T=S?100:la(w,e=>e.y1)??0,E=S?Math.min(0,ua(w,e=>e.y0)??0):0,D=yS(_,n.verticalAxis?.labelPosition),O=n.categoryLabelLine===!0||D,k=j_(t.labels),A=M_(_,O?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,k,n.horizontalAxis?.showAxis),j=A.top!=null,M=Math.max(0,_-(A.left??50)-(A.right??20)),N=g?RS(p,y,M):{width:0,height:0},P=g?N.height+15:0,F={...A};g&&y===`top`&&(F.top=P+(j?15:0)),g&&y===`bottom`&&(F.bottom=(F.bottom??24)+P),g&&y===`left`&&(F.left=(F.left??50)+N.width+10),g&&y===`right`&&(F.right=(F.right??20)+N.width+10);let{chartArea:I,width:L,height:R,margin:z}=I_(u,F),B=y_(s,z),V=Ex(t.labels,d,n),[H,ee]=ji(S?[E,T]:w.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),U=(n.horizontalAxis?.scaleType===Hr.Log?ep():zf()).domain([H,ee]).nice().range([0,L]),te=Cf().domain(V).range([0,R]).padding(Ai(n.barGap));l.attach(I,B),l.update({horizontal:{scale:U,height:R,options:{...n.horizontalAxis,width:L}},vertical:{scale:te,height:R,options:{...n.verticalAxis,labelPosition:O?Wr.Off:n.verticalAxis?.labelPosition,topPadding:z.top,...D?{showAxis:!1}:{}}},order:`horizontal-first`});let ne=I.ownerSVGElement,re=xx(ne,e,`bars`,{x:0,y:0,width:L,height:R}),ie=Q(I).append(`g`).attr(`clip-path`,`url(#${re})`),W=V===t.labels?w:V.flatMap(e=>w.filter(t=>t.label===e)),oe=O?_S(te.bandwidth()):0,se=hx(n.colorizes),ce=eS(n.highlights,w.map(e=>e.seriesName)),le=jx(e),ue=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ue.appendChild(e);Ux(le,{role:`mark-per-cell`,parent:ue,selector:`.bc-bar-stacked`,data:W,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=se.get(e.seriesName)??JS(e.seriesName,e.seriesIndex,m,h),n=tC(e.seriesName,h),r={"data-series":e.seriesName,x:U(e.y0),y:(te(e.label)??0)+oe,width:U(e.y1)-U(e.y0),height:Math.max(0,te.bandwidth()-oe),fill:t};return n<1&&(r[`fill-opacity`]=n),ce.size>0&&(r.opacity=tS(ce,e.seriesName)),r}});let de={left:z.left,top:z.top,width:L,height:R};Zx(le,{svg:ne,clipId:re,group:I,from:c,to:de,active:r&&i.length>0});let fe=Cx(ie);if(n.tooltips&&fe.use(hb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&fe.use(_b({width:L,height:R,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));fe.use(mx(n.annotations,{scaleX:te,scaleY:U,data:i,width:L,height:R,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:o}))}let pe=()=>fe.draw(W);if(le.state===`committing`?le.register(pe):pe(),vx(e,{chartType:`bar-stacked`,margin:z,plotRect:de}),a&&(V_(ie.node()),U_(e,a)),O){let e=Q(I).append(`g`).attr(`class`,`bc-category-labels`);for(let t of V){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,K=n.valueLabelPosition??si.Auto,me=new Set,he=new Map;for(let e of V){let t=W.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];me.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;he.set(n,U(t[e+1].y1)-U(t[e].y1))}}}let ge=new Map,_e=Xi(W,e=>la(e,e=>e.y1)??0,e=>e.label),ve=Q(I).append(`g`).attr(`class`,`bc-value-labels`);if(W.forEach(e=>{if(!eC(e.seriesName,G,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?i_(e.value,_e.get(e.label)??0):String(Math.round(e.value*100)/100),r=U(e.y1)-U(e.y0),i=t.length*6.5+8,a=r>=i,o=(te(e.label)??0)+oe+(te.bandwidth()-oe)/2,s=JS(e.seriesName,e.seriesIndex,m,h),c=me.has(e.label+`\0`+e.seriesName),l=K===si.Outside||K===si.Auto&&!a&&c,u=lS({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:te.bandwidth()}),d=()=>{let n=U(e.y0)+r/2;ve.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`,Dr(s)).text(t)};if(l){if(K===si.Inside)d();else{let n=U(e.y1)+4,r=ge.get(e.label)??0,a=he.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=L+z.right-2,f=n+i>l;s||c||f||!u?d():(ge.set(e.label,n+i),ve.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=U(e.y0)+r/2;ve.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`,Dr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>JS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=j?15:0;n=-(N.height+10+e)}else y===`bottom`?n=R+25:y===`left`?t=-(N.width+10):y===`right`&&(t=L+10);WS(I,p,e,n,y,b,L,R,t,[],{left:z.left,right:z.right})}}var $C=16,ew=4,tw=20,nw=`600 11px sans-serif`,rw=`…`;function iw(e,t){if(mS(e,nw)<=t)return e;let n=e;for(;n.length>0&&mS(n+rw,nw)>t;)n=n.slice(0,-1);return n+rw}function aw(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*$C)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=ji(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===Hr.Log?ep():zf()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+$C),panelWidth:o,xScale:l}})}function ow(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 sw(e,t,n={},r=!1){z_(r);let i=[],a=null,o,s,c,l=kv.for(e);if(r){let t=_x(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=H_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))c.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=GS(t),f=d.filter(e=>!QS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=KS(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=P_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=yS(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=j_(t.labels),w=M_(_,S?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+tw;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?RS(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+tw),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}=I_(u,O),N=y_(o,M),P=Ex(t.labels,d,n),F=Cf().domain(P).range([0,j]).padding(Ai(n.barGap)),I=S?_S(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Wr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=aw(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)yv(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=xx(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(iw(e.seriesName,e.panelWidth));let ee=ow(L,P,t.labels,d),U=eS(n.highlights,ee.map(e=>e.seriesName)),te=hx(n.colorizes),ne=jx(e),re=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),re.appendChild(e);Ux(ne,{role:`mark-per-cell`,parent:re,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)??JS(e.seriesName,e.seriesIndex,m,h),n=tC(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=tS(U,e.seriesName)),r}});let ie={left:M.left,top:M.top,width:A,height:j};Zx(ne,{svg:z,clipId:B,group:k,from:s,to:ie,active:r&&i.length>0});let W=Cx(V);if(n.tooltips&&W.use(hb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&W.use(_b({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.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(mx(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:c}))}let oe=()=>W.draw(ee);if(ne.state===`committing`?ne.register(oe):oe(),vx(e,{chartType:`bar-split`,margin:M,plotRect:ie}),a&&(V_(V.node()),U_(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??si.Auto,le=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!eC(e.seriesName,se,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=JS(e.seriesName,e.seriesIndex,m,h),r=e.value<0,i=r?e.xPos:e.xPos+e.barWidth,a=r?-1:1,o=mS(String(e.value)),s=Math.max(0,F.bandwidth()-I),c=(F(e.label)??0)+I+s/2,l=r?i-ew-o>=t.xOffset:i+ew+o<=t.xOffset+t.panelWidth,u=ce===si.Inside||!l||ce===si.Auto&&e.barWidth>30;if(!lS({text:String(e.value),placement:u?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:s}))return;let d=u?-a:a,f=i+d*ew,p=d<0?`end`:`start`,g=u?Dr(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=>JS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+tw):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),WS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}function cw(e,t,n={},r=!1){z_(r);let i=[],a=null,o,s,c,l=kv.for(e);if(r){let t=_x(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=H_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))c.set(e,n);e.replaceChildren()}let{body:u}=$g(e,n.frame),d=GS(t),f=d.filter(e=>!QS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=KS(n.colors??ae,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=P_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=yS(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=j_(t.labels),T=M_(v,C?Wr.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=_?RS(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}=I_(u,k),P=y_(o,N),F=Ex(t.labels,d,n),I=Cf().domain(F).range([0,M]).paddingInner(Ai(n.barGap)).paddingOuter(.05),L=C?_S(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=Cf().domain(p).range([0,R]).padding(.05),[B,V]=ji(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===Hr.Log?ep():zf()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Wr.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=xx(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??ae)[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=n.sortMode===ii.WithinGroups?Dx(t.labels,f):null,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,slot:ne?ne(e,t.name):t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let ie=eS(n.highlights,re.map(e=>e.seriesName)),W=hx(n.colorizes),oe=jx(e),se=te.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),se.appendChild(e);Ux(oe,{role:`mark-per-cell`,parent:se,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=W.get(e.seriesName)??JS(e.seriesName,e.seriesIndex,h,g),n=tC(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.slot)??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=tS(ie,e.seriesName)),r}});let ce={left:N.left,top:N.top,width:j,height:M};Zx(oe,{svg:ee,clipId:U,group:A,from:s,to:ce,active:r&&i.length>0});let le=Cx(te);if(n.tooltips&&le.use(hb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&le.use(_b({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));le.use(mx(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:c}))}let ue=()=>le.draw(re);if(oe.state===`committing`?oe.register(ue):ue(),vx(e,{chartType:`bar-grouped`,margin:N,plotRect:ce}),a&&(V_(te.node()),U_(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 de=n.valueLabels??!0,fe=n.valueLabelPosition??si.Auto,pe=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(re.forEach(e=>{if(!eC(e.seriesName,de,g))return;let t=JS(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.slot)??0)+z.bandwidth()/2,a=fe===si.Inside||fe===si.Auto&&n>30;if(!lS({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=Dr(t)):(o=r+4,s=`start`,c=`currentColor`),pe.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=>JS(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),WS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var lw=[`x`,`y`,`size`];function uw(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 dw(e,t={}){let n={},r=new Set(lw.map(e=>t[e]).filter(Boolean)),i=uw(e).filter(e=>!r.has(e));for(let e of lw){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 fw(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function pw(e){return typeof e==`number`&&Number.isFinite(e)}function mw(e,t,n,r){if(!pw(e))return n;if(t===Hr.Log&&e<=0)return r}function hw(e,t,n){let r=fw(e,t.x),i=fw(e,t.y),a=fw(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=mw(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??mw(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(pw(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 gw(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function _w(e,t){let n=t&&{min:gw(t.min),max:gw(t.max)},r=ji(e.filter(e=>e>0),n,Hr.Log,!1);return r[0]>0&&Number.isFinite(r[1])?Xf().domain(r).nice():Xf().domain([1,10])}function vw(e,t,n){if(e===Hr.Log)return _w(t,n);let r=ji(t,n,e,!1);return e===Hr.Symlog?ep().domain(r).nice():zf().domain(r).nice()}function yw(e){switch(e){case Hr.Log:return{forward:Math.log10,inverse:e=>10**e};case Hr.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 bw(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 xw=[1,2,5],Sw=11,Cw=`${Sw}px`,ww=8,Tw=6,Ew=24,Dw=`4 3`,Ow=Sw*1.2,kw=mf(`~s`);function Aw(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 jw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>xw.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function Mw(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,Cw).attr(`fill`,`currentColor`).text(t)}function Nw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=Ow)&&n.push(r)}return n.reverse()}function Pw(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&&Mw(a,t,0,i-o*2-Tw),Nw(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),Mw(a,kw(e),o*2+Tw,i-t*2+ww)})}function Fw(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`,Ew).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,Dw),Mw(t,`Trend`,30,10)}function Iw({sizeLabel:e,sizeValues:t,radius:n,trend:r}){let i=[0];if(t.length>0){let r=t.map(kw);i.push(n(t[t.length-1])*2+Tw+Math.max(...r.map(e=>g_(e,Sw)))),i.push(g_(e??``,Sw))}return r&&i.push(30+g_(`Trend`,Sw)),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&&Pw(r,t,t.trend?-24:0),t.trend&&Fw(r),r}function Rw(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 zw(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 Bw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var Vw=3,Hw=2,Uw=1.3;function Ww(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*Uw/2;return[{key:n,x:r+a+Vw,y:i,anchor:`start`},{key:n,x:r-a-Vw,y:i,anchor:`end`},{key:n,x:r,y:i-a-Vw-o,anchor:`middle`},{key:n,x:r,y:i+a+Vw+o,anchor:`middle`}]}function Gw(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*Uw/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function Kw(e,t){return e.left<t.right+Hw&&t.left<e.right+Hw&&e.top<t.bottom&&t.top<e.bottom}function qw(e,t,n){let r=[],i=[];for(let a of e){let e=g_(a.text,n);for(let o of Ww(a,n)){let a=Gw(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>Kw(e,a))){r.push(o),i.push(a);break}}}return r}function Jw(e){return(e?n_(e):null)??String}function Yw(e,t,n){let r=[e.name,`${t.x}: ${Jw(n.x)(e.x)}`,`${t.y}: ${Jw(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(`
355
- `)}var Xw=[`overall`,`per-group`];function Zw(e){return Xw.includes(e??``)}var Qw=3;function $w(e,t){let n=e.length;if(n<Qw)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 eT(e,t,n,r){let i=yw(t.x),a=yw(t.y),o=e.map(e=>i.forward(e.x)),s=$w(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 tT(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):nT(e);for(let[e,o]of a){let a=eT(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function nT(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 rT=ae[0],iT=4.5,aT=.7,oT=16,sT=350,cT=8,lT=`6 4`,uT=1.5,dT=.6,fT=11,pT=3;function mT(e,t){return Math.min(e,t)/12}function hT(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function gT(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function _T(e,t,n){let r=la(e,e=>e.size);return r===void 0?()=>iT:op().domain([0,r]).range([0,mT(t,n)])}function vT(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===Yr.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 $i(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function yT(e,t,n={},r=!1){z_(r),dC(e);let i=kv.for(e),a=r?_x(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=H_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))u.set(e,n);e.replaceChildren()}let d=dw(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=hw(t,d,f),m=vw(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=vw(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=$g(e,n.frame),_=P_(g).width,v=A_(h,n.verticalAxis?.numberFormat),y=M_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=Aw(p,n.colors??ae),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<sT&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=la(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:jw(E),trend:Zw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>op().domain([0,E??1]).range([0,mT(e,t)]),A=_>0?_:600,j=P_(g).height||400,M=y.top==null?0:15,N=y.right??b_.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??b_.left,t=Math.max(0,A-e-P.right);F=S?RS(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??b_.top)-P.bottom,r=O?Iw({...D,radius:k(t,n)}):0;P.right=L+(O?oT+r:N)}let{chartArea:R,width:z,height:B,margin:V}=I_(g,P),H=y_(a?.margin,V),ee=_T(p,z,B),U=e=>ee(e.size??0);m.range(bw(m,p.map(e=>({value:e.x,r:U(e)+1})),z));let[te,ne]=bw(h,p.map(e=>({value:e.y,r:U(e)+1})),B,cT);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 re=R.ownerSVGElement,ie=xx(re,e,`plot`,{x:0,y:0,width:z,height:B}),W=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node(),oe=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node();W.append(...o);let se=$i(p,e=>-U(e)),ce=new Map(se.map((e,t)=>[e.name,t]));oe.append(...$i(s,e=>ce.get(e.getAttribute(`data-key`))??1/0));let le=zw(p,hx(n.colorizes)),ue=new Map(x.map(e=>[e,le.groups.get(e)??b.get(e)])),de=Rw(p,(n.highlights??[]).map(e=>e.target)),fe=e=>Bw(e,le.points,ue,rT),pe=kr(e),G=jx(e);Ux(G,{role:`series-line`,parent:W,selector:`.bc-trend-line`,data:Zw(n.trend)?tT(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?dT:1,"stroke-width":uT,"stroke-dasharray":lT})});let K=e=>({cx:m(e.x),cy:h(e.y),r:U(e),fill:fe(e),"fill-opacity":tS(de,e.name,aT),stroke:pe,"stroke-width":1,opacity:1});Ux(G,{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:K,enterFrom:e=>({...K(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(oe).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let me=qw(vT(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},fT),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(Ux(G,{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`,fT).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}));px(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:pe,transition:r,priorAnnotations:u})}let _e={left:V.left,top:V.top,width:z,height:B};Zx(G,{svg:re,clipId:ie,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:_e,active:r}),S&&WS(R,x,[...ue.values()],gT(w,F.height+M,I,B,V.bottom),w,T,z,B,hT(w,F.width,z),[],{left:V.left,right:V.right});let ve=Lw(R,{...D,radius:ee}),ye=Iw({...D,radius:ee});if(ve?.setAttribute(`transform`,`translate(${Math.max(z+L+oT,z+V.right-ye)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};mC(R,{width:z,height:B,points:p.map(e=>({cx:m(e.x),cy:h(e.y),label:Yw(e,d,t),value:e.y,color:fe(e),r:U(e)+pT})),nearest:`xy`,format:e=>e.label,container:e})}vx(e,{chartType:`scatter`,margin:V,plotRect:_e}),l&&(V_(W),V_(oe),U_(e,l))}var bT={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 xT(e,t){return e.find(e=>bT[t].test(e))}function ST(e,t,n){if(n!==`none`)return n?e.find(e=>e===n):xT(e,t)}function CT(e,t={}){let n=uw(e);if(t.dotStyle!==ri.Range)return{mode:n.length>1?`dumbbell`:`single`,values:n,ignored:[]};let r=ST(n,`low`,t.low),i=ST(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 wT(e,t,n){let r=(n?n_(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(`
356
- `)}function TT(e){return typeof e==`number`&&Number.isFinite(e)}function ET(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===Hr.Log&&r.some(e=>e<=0)?`non-positive-log`:void 0}function DT(e,t,n){let r=t.values.map(t=>fw(e,t)??[]),i=fw(e,t.low)??[],a=fw(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=ET(l,t,n);u?s.push({name:e,reason:u}):o.push(l)}),{rows:o,dropped:s}}function OT(e){let t=e.values[0];return t?(e.values[e.values.length-1]-t)/Math.abs(t):0}function kT(e,{sortMode:t,sortReverse:n},r){if(t===ii.None)return[...e];let i=e=>e.values[e.values.length-1];return wx(e,r===`dumbbell`?t===ii.Gap?e=>i(e)-e.values[0]:t===ii.Change?OT:i:i,n?ti.Ascending:ti.Descending)}function AT(e,t,n,r){let i=new Map(e.map(e=>[e.name,e]));return{scaleX:n,scaleY:t,orientation:Zr.Horizontal,data:[],markCenter:e=>{let n=la(i.get(e)?.values??[],e=>t(e));return n===void 0?void 0:{x:n,y:r(e)}}}}var jT=ae[0],MT=.25,NT=.4,PT=2,FT=350,IT=5,LT=6,RT=11;function zT(e,t,n={},r=!1){dC(e),z_(r);let i=kv.for(e),a=r?_x(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=H_(e));for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of bb(t))c.set(e,n);e.replaceChildren()}let l=CT(t,{dotStyle:n.dotStyle,low:n.low,high:n.high}),u=n.horizontalAxis?.scaleType,d=kT(DT(t,l,u).rows,n,l.mode),f=l.values,p=l.mode===`dumbbell`,m=KS(n.colors??ae,f.length),h=e=>p?m[e]:n.colors?.[0]??jT,{body:g}=$g(e,n.frame),_=P_(g).width,v=n.legend!==!1&&p,y=n.legendPosition??`top`,b=_>0&&_<FT&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=yS(_,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=M_(_,C?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j_(t.labels),n.horizontalAxis?.showAxis),T=Math.max(0,_-(w.left??50)-(w.right??20)),E=v?RS(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}=I_(g,O),N=y_(a?.margin,M),P=Cf().domain(d.map(e=>e.name)).range([0,j]).paddingInner(.3).paddingOuter(.05),F=C?_S(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=>r_(e,n.horizontalAxis?.numberFormat),z=e=>UT(e,f,n.dotLabels,R),B=n.valueLabels?BT(d,l.mode,z,R,A):0,V=vw(u,L,n.horizontalAxis?.range).range([p?B:0,A-B]);i.attach(k,N),i.update({vertical:{scale:P,height:j,options:{...n.verticalAxis,labelPosition:C?Wr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...S?{showAxis:!1}:{}}},horizontal:{scale:V,height:j,options:{...n.horizontalAxis,width:A}},order:`horizontal-first`});let H=k.ownerSVGElement,ee=xx(H,e,`plot`,{x:0,y:0,width:A,height:j}),U=Q(k).append(`g`).attr(`clip-path`,`url(#${ee})`),te=()=>U.append(`g`).node(),ne=te(),re=te(),ie=te();ne.append(...o.ranges),re.append(...o.lines),ie.append(...o.dots);let W=kr(e),oe=jx(e),se=eS(n.highlights,d.map(e=>e.name)),ce=e=>tS(se,e),le=hx(n.colorizes),ue=d.filter(e=>e.low!==void 0),de=e=>({x:Math.min(V(e.low),V(e.high)),y:I(e.name)-5,width:Math.abs(V(e.high)-V(e.low)),height:10,rx:5,fill:le.get(e.name)??h(0),"fill-opacity":MT,opacity:ce(e.name)});Ux(oe,{role:`mark-per-category`,parent:ne,selector:`.bc-dot-range`,data:ue,key:e=>e.name,insert:e=>e.append(`rect`).attr(`class`,`bc-dot-range`).attr(`data-key`,e=>e.name),attrs:de,enterFrom:e=>({...de(e),opacity:0}),exitTo:()=>({opacity:0})});let fe=p?d:[],pe=e=>{let[t,r]=Hi(e.values).map(e=>V(e)),i=I(e.name),a=Math.sign(e.values.at(-1)-e.values[0]),o=n.arrows??ni.None,s=VT(a>0?r:t,a,o===ni.Forward||o===ni.Both),c=VT(a>0?t:r,-a,o===ni.Backward||o===ni.Both);return{d:`M${t},${i}L${r},${i}${HT(s,i)}${HT(c,i)}`,fill:`none`,stroke:`currentColor`,"stroke-opacity":NT,"stroke-width":PT,opacity:ce(e.name)}};Ux(oe,{role:`series-line`,parent:re,selector:`.bc-dot-line`,data:fe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-dot-line`).attr(`data-key`,e=>e.name),attrs:pe,enterFrom:e=>({...pe(e),opacity:0}),exitTo:()=>({opacity:0})});let G=d.flatMap(e=>f.map((t,n)=>({row:e.name,column:t,value:e.values[n],color:h(n)}))),K=e=>({"data-series":e.column,cx:V(e.value),cy:I(e.row),r:5,fill:le.get(e.row)??e.color,stroke:W,"stroke-width":1,opacity:ce(e.row)});Ux(oe,{role:`mark-per-cell`,parent:ie,selector:`.bc-dot`,data:G,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:K,enterFrom:e=>({...K(e),opacity:0}),exitTo:()=>({opacity:0})});let me=Q(k).append(`g`).node();if(me.append(...o.labels),GT(oe,me,n.valueLabels?WT(d,l.mode,z,V,R):[],I,ce),n.annotations?.length&&px(k,n.annotations,{...AT(d,V,P,I),width:A,height:j,backgroundColor:W,transition:r,priorAnnotations:c}),n.tooltips){let t=new Map(d.map(e=>[e.name,wT(e,l,n.horizontalAxis?.numberFormat)]));mC(k,{width:A,height:j,points:G.map(e=>({cx:V(e.value),cy:I(e.row),label:t.get(e.row),value:e.value,color:le.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 he={left:M.left,top:M.top,width:A,height:j};if(Zx(oe,{svg:H,clipId:ee,group:k,from:a?.chartType===`dot-plot`?a.plotRect:void 0,to:he,active:r}),v){let e=b===`left`?-(E.width+10):b===`right`?A+10:0;WS(k,f,m,b===`top`?-(E.height+10):b===`bottom`?j+25:0,b,x,A,j,e,[],{left:M.left,right:M.right})}vx(e,{chartType:`dot-plot`,margin:M,plotRect:he}),s&&(V_(U.node()),V_(me),U_(e,s))}function BT(e,t,n,r,i){let a=__(t===`range`?e.map(e=>r(e.values[0])):e.flatMap(n).map(e=>e.text),RT)+LT+(t===`range`?0:5);return Math.min(a,i/4)}function VT(e,t,n){let r=n?t:0,i=e-r*5;return{tipX:i,armX:i-r*IT,armOffset:r===0?0:IT}}function HT({tipX:e,armX:t,armOffset:n},r){return`M${t},${r-n}L${e},${r}L${t},${r+n}`}function UT(e,t,n,r){let i=e.values.map((e,t)=>t).sort((t,n)=>e.values[t]-e.values[n]),a=i[0],o=i.at(-1),s=n=>({key:`${e.name}|${t[n]}`,i:n,left:n===a&&a!==o,text:r(e.values[n]),series:t[n]}),c=t=>[{key:`${e.name}|${n}`,i:o,left:!1,text:t}],l=Number((e.values[e.values.length-1]-e.values[0]).toPrecision(12));switch(n){case`start`:return[s(0)];case`end`:return[s(e.values.length-1)];case`difference`:return c(`${l>0?`+`:``}${r(l)}`);case`change`:return e.values[0]===0?[]:c(r_(OT(e),`+.0%`));default:return(a===o?[a]:[a,o]).map(s)}}function WT(e,t,n,r,i){return e.flatMap(e=>t===`range`?[{key:`${e.name}|range`,row:e.name,text:i(e.values[0]),x:Math.max(r(e.low),r(e.high))+LT,anchor:`start`}]:n(e).map(({key:t,i:n,left:i,text:a,series:o})=>({key:t,row:e.name,series:o,text:a,x:r(e.values[n])+(i?-1:1)*11,anchor:i?`end`:`start`})))}function GT(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)});Ux(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`,`${RT}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 KT=new Map;function qT(e,t,n){KT.set(e,{renderer:t,options:n})}function JT(e){return KT.get(e)?.renderer}function YT(e){return KT.get(e)?.options??[]}var XT=[{value:Ur.Solid,text:`Solid`},{value:Ur.Dashed,text:`Dashed`},{value:Ur.Dotted,text:`Dotted`},{value:Ur.None,text:`None`}],ZT={key:`colors`,type:Z.Colors,label:`Colors`},QT={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...ce().map(e=>({value:e.name,text:e.label}))]},$T={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},eE={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},tE={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},nE={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:ai.Top,choices:[{value:ai.Top,text:`Top`},{value:ai.Bottom,text:`Bottom`},{value:ai.Left,text:`Left`},{value:ai.Right,text:`Right`}]},rE={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:oi.Start,choices:[{value:oi.Start,text:`Start`},{value:oi.Middle,text:`Middle`},{value:oi.End,text:`End`}]},iE={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:di.Off,choices:[{value:di.Off,text:`Off`},{value:di.Auto,text:`Auto`},{value:di.Outside,text:`Outside`},{value:di.Inside,text:`Inside`}]},aE={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:oi.Middle,choices:[{value:oi.Start,text:`Start`},{value:oi.Middle,text:`Middle`},{value:oi.End,text:`End`}]},oE={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},sE={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:si.Auto,choices:[{value:si.Auto,text:`Auto`},{value:si.Outside,text:`Outside`},{value:si.Inside,text:`Inside`}]},cE={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},lE={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},uE={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:ci.Both,choices:[{value:ci.Both,text:`Both`},{value:ci.Vertical,text:`Vertical`},{value:ci.Horizontal,text:`Horizontal`}]},dE={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:li.Dashed,choices:[{value:li.Solid,text:`Solid`},{value:li.Dashed,text:`Dashed`},{value:li.Dotted,text:`Dotted`}]},fE={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},pE={key:`valueLabelPoints`,type:Z.Select,label:`Show on`,default:$r.All,choices:[{value:$r.All,text:`All`},{value:$r.FirstLast,text:`First & last`},{value:$r.Last,text:`Last`},{value:`everyN`,text:`Every N`}]},mE={key:`valueLabelEvery`,type:Z.Text,label:`Every`,default:`2`,placeholder:`2`},hE={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},gE={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:Qr.Circle,choices:[{value:Qr.Circle,text:`Circle`},{value:Qr.Square,text:`Square`},{value:Qr.Diamond,text:`Diamond`},{value:Qr.Triangle,text:`Triangle Up`},{value:Qr.TriangleDown,text:`Triangle Down`},{value:Qr.Cross,text:`Cross`},{value:Qr.Star,text:`Star`}]},_E={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:$r.FirstLast,choices:[{value:$r.FirstLast,text:`First & Last`},{value:$r.First,text:`First`},{value:$r.Last,text:`Last`},{value:$r.All,text:`All`}]},vE={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:ei.Filled,choices:[{value:ei.Filled,text:`Filled`},{value:ei.Hollow,text:`Hollow`}]},yE={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},bE={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},xE={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:ii.None,choices:[{value:ii.None,text:`None`},{value:ii.Total,text:`By total`},{value:ii.WithinGroups,text:`Within groups`}]},SE={...xE,choices:[...xE.choices,{value:ii.Series,text:`By series`}]},CE={key:`sortSeries`,type:Z.Select,label:`Sort by series`,default:``},wE={key:`sortReverse`,type:Z.Boolean,label:`Reverse order`,default:!1},TE=[SE,CE,wE],EE={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},DE={key:`connectGaps`,type:Z.Boolean,label:`Connect gaps`,default:!1},OE={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},kE={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},AE={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},jE={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},ME={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},NE={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},PE={key:`negativeColor`,type:Z.Text,label:`Negative color`,default:``},FE={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},IE={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},LE={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:ui.Normal,choices:[{value:ui.Normal,text:`Normal`},{value:ui.Percent,text:`Percentage (100%)`}]},RE={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},zE={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},BE={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},VE={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},HE={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},UE={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},WE={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},GE={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},KE={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},qE={key:`areaFill`,type:Z.Boolean,label:`Area fill`,default:!1},JE={key:`areaFillBaseline`,type:Z.Select,label:`Fill to`,default:`bottom`,choices:[{value:`bottom`,text:`Plot bottom`},{value:`zero`,text:`Zero`}]},YE={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},XE={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},ZE={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},QE={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:ti.None,choices:[{value:ti.None,text:`Keep order`},{value:ti.Ascending,text:`Smallest first`},{value:ti.Descending,text:`Largest first`}]},$E={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:fi.Linear,choices:[{value:fi.Linear,text:`Linear`},{value:fi.MonotoneX,text:`Monotone`},{value:fi.Step,text:`Step`},{value:fi.StepBefore,text:`Step (before)`},{value:fi.StepAfter,text:`Step (after)`},{value:fi.Basis,text:`Basis`},{value:fi.Cardinal,text:`Cardinal`},{value:fi.CatmullRom,text:`Catmull-Rom`}]},eD={[Hr.Linear]:`Linear`,[Hr.Log]:`Logarithmic`,[Hr.Symlog]:`Symmetric log`};function tD(e){return e.map(e=>({value:e,text:eD[e]}))}var nD=[{value:Wr.Auto,text:`Auto`},{value:Wr.Inside,text:`Inside`},{value:Wr.Outside,text:`Outside`},{value:Wr.Off,text:`Off`}],rD=[{value:Gr.Auto,text:`Auto`},{value:Gr.Horizontal,text:`Horizontal`},{value:Gr.Vertical,text:`Vertical`}];function iD(e){let t=tD(e.scaleTypeChoices??[Hr.Linear,Hr.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:Vr.Left,choices:[{value:Vr.Left,text:`Left`},{value:Vr.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`?Wr.Off:Wr.Auto,choices:nD},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:XT},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:Hr.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`},{key:`verticalTickValues`,type:Z.Text,label:`Vertical tick values`,placeholder:`0, 50, 100`}]:[],{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`?Wr.Off:Wr.Auto,choices:nD},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Gr.Horizontal,choices:rD},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:XT},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:Hr.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`},{key:`horizontalTickValues`,type:Z.Text,label:`Horizontal tick values`,placeholder:`0, 50, 100`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var aD=iD({verticalGrid:Ur.None,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),oD=iD({verticalGrid:Ur.None,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),sD=iD({verticalGrid:Ur.Dashed,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),cD=iD({verticalGrid:Ur.Dashed,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),lD={...$E,default:fi.MonotoneX},uD={...uE,default:ci.Vertical},dD={...lE,default:!0},fD={...hE,default:!0},pD=[{...SE,default:ii.Total},CE,wE],mD={...oE,default:!0},hD={...oE,default:!0},gD={...BE,default:!0},_D={...WE,default:`5`},vD={...VE,default:!0},yD=[{key:`centerLabel`,type:Z.Select,label:`Center label`,default:`total`,choices:[{value:`total`,text:`Total`},{value:`slice`,text:`Slice share`},{value:`custom`,text:`Custom text`}]},{key:`centerSlice`,type:Z.Text,label:`Center slice`,default:``},{key:`centerText`,type:Z.Text,label:`Center text`,default:``},{key:`totalLabel`,type:Z.Text,label:`Total label`,default:`Total`,placeholder:`Total`}],bD={...iE,default:di.Auto},xD={...tE,default:!1},SD=[lE,uE,dE,fE],CD=[dD,uD,dE,fE],wD=[hD,sE,cE,...SD],TD=[mD,sE,cE,...SD],ED=[hE,gE,_E,vE,yE,bE],DD=[fD,gE,_E,vE,yE,bE],OD=[oE,cE,...CD,...ED],kD=[oE,cE,...CD,...DD],AD={key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Number format`},jD=[gD,AD,HE,UE,_D,GE],MD=[BE,AD,vD,...yD,HE,UE,WE,GE];qT(Br.BarVertical,CS,[ZT,QT,$T,eE,IE,PE,AE,ME,jE,NE,FE,OE,kE,zE,...aD,...wD]),qT(Br.BarHorizontal,OS,[ZT,QT,$T,eE,IE,AE,ME,jE,NE,FE,OE,kE,zE,...oD,...TD]),qT(Br.BarMulti,oC,[ZT,QT,$T,eE,jE,...pD,xD,rE,nE,bD,aE,...aD,...wD]),qT(Br.Line,bC,[ZT,QT,$T,eE,lD,EE,DE,qE,JE,...sD,...OD,pE,mE]),qT(Br.LineMulti,NC,[ZT,QT,$T,eE,lD,EE,DE,xE,xD,rE,nE,bD,...sD,...kD,pE,mE]),qT(Br.Donut,zC,[ZT,QT,$T,eE,xD,rE,nE,bD,cE,...MD]),qT(Br.Pie,VC,[ZT,QT,$T,eE,xD,rE,nE,bD,cE,...jD]),qT(Br.Area,UC,[ZT,QT,$T,eE,{...KE,default:`0.25`,placeholder:`0.25`},JE,lD,EE,...cD,...OD]);var ND=iD({verticalGrid:Ur.Dashed,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});qT(Br.AreaStacked,qC,[ZT,QT,$T,eE,KE,lD,EE,QE,YE,XE,ZE,tE,rE,nE,iE,...ND,cE,...CD]),qT(Br.ColumnStacked,XC,[ZT,QT,$T,eE,jE,LE,...TE,tE,rE,nE,iE,aE,...aD,...wD,VE]),qT(Br.BarStacked,QC,[ZT,QT,$T,eE,jE,LE,...TE,tE,rE,nE,iE,aE,zE,...oD,...TD]),qT(Br.BarSplit,sw,[ZT,QT,$T,eE,jE,RE,...TE,tE,rE,nE,zE,...oD,mD,sE,cE,...SD]),qT(Br.BarGrouped,cw,[ZT,QT,$T,eE,jE,...pD,tE,rE,nE,AE,ME,zE,...oD,mD,sE,cE,...SD]);var PD=[{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:``}],FD={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},ID={...HE,default:!1,label:`Label all points`},LD=iD({verticalGrid:Ur.Dashed,horizontalGrid:Ur.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[Hr.Linear,Hr.Log,Hr.Symlog]});qT(Br.Scatter,yT,[ZT,QT,$T,eE,...PD,FD,ID,tE,nE,rE,{...cE,default:!0},...LD]);var RD=[{key:`low`,type:Z.Text,label:`Low column`,default:``},{key:`high`,type:Z.Text,label:`High column`,default:``}],zD={key:`dotStyle`,type:Z.Select,label:`Style`,default:ri.Dumbbell,choices:[{value:ri.Dumbbell,text:`Dumbbell`},{value:ri.Range,text:`Range`}]},BD={key:`arrows`,type:Z.Select,label:`Arrows`,default:ni.None,choices:[{value:ni.None,text:`None`},{value:ni.Forward,text:`Forward`},{value:ni.Backward,text:`Backward`},{value:ni.Both,text:`Both`}]},VD={...xE,default:ii.Value,choices:[{value:ii.None,text:`None`},{value:ii.Value,text:`By value`},{value:ii.Gap,text:`By gap`},{value:ii.Change,text:`By % change`}]},HD={key:`dotLabels`,type:Z.Select,label:`Labels`,default:`both`,choices:[{value:`both`,text:`Both`},{value:`start`,text:`Start`},{value:`end`,text:`End`},{value:`difference`,text:`Difference`},{value:`change`,text:`% change`}]},UD=iD({verticalGrid:Ur.None,horizontalGrid:Ur.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`});qT(Br.DotPlot,zT,[ZT,QT,$T,eE,zD,...RD,BD,VD,wE,tE,nE,rE,zE,...UD,oE,HD,{...cE,default:!0}]),qT(Br.VerticalBar,CS,[ZT,QT,$T,eE,IE,PE,AE,ME,jE,NE,FE,OE,kE,zE,...aD,...wD]),qT(Br.HorizontalBar,OS,[ZT,QT,$T,eE,IE,AE,ME,jE,NE,FE,OE,kE,zE,...oD,...TD]);function WD(e){let t=(e??``).trim();return t&&wi(t)!==void 0?t:void 0}function GD(e){let t=(e??``).split(/[\s,]+/).filter(Boolean).map(Number).filter(Number.isFinite);return t.length?t:void 0}function KD(e){let t=GD(e.verticalTickValues);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||t||e.verticalRangeMax))return{};let n={};e.showVerticalTicks!==void 0&&(n.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(n.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(n.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(n.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(n.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(n.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(n.labelPosition=e.verticalLabelPosition);let r=WD(e.verticalRangeMin),i=WD(e.verticalRangeMax);return(r!==void 0||i!==void 0)&&(n.range={},r!==void 0&&(n.range.min=r),i!==void 0&&(n.range.max=i)),t&&(n.ticks=t),{verticalAxis:n}}function qD(e){let t=GD(e.horizontalTickValues);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||t||e.horizontalRangeMax))return{};let n={};e.showHorizontalTicks!==void 0&&(n.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(n.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(n.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(n.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(n.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(n.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(n.labelRotation=e.horizontalLabelRotation);let r=WD(e.horizontalRangeMin),i=WD(e.horizontalRangeMax);return(r!==void 0||i!==void 0)&&(n.range={},r!==void 0&&(n.range.min=r),i!==void 0&&(n.range.max=i)),t&&(n.ticks=t),{horizontalAxis:n}}var JD=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.verticalTickValues.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.horizontalTickValues.sliceMax.barGap.valueLabelEvery.connectionsOpacity.areaFillOpacity`.split(`.`));function YD(e,t){if(!t)return{};let n={};for(let{key:r}of YT(t)){let t=e[r];t!==void 0&&!JD.has(r)&&(n[r]=t)}return n}function XD(e,t){let n={},r=se(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Fr(n.colors,t)),e.autoContrast&&t&&e.negativeColor&&(n.negativeColor=Fr([e.negativeColor],t)[0]),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function ZD(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 QD(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??Qr.Circle,showOn:e.lineSymbolShowOn??$r.FirstLast,style:e.lineSymbolStyle??ei.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function $D(e,t,n){let r={...YD(e,n),...XD(e,t),...ZD(e),...KD(e),...qD(e),...QD(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.centerLabel&&(r.centerLabel=e.centerLabel),e.centerSlice!==void 0&&(r.centerSlice=e.centerSlice),e.centerText!==void 0&&(r.centerText=e.centerText),e.totalLabel!==void 0&&(r.totalLabel=e.totalLabel),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.valueLabelEvery??``,10);i>0&&(r.valueLabelEvery=i);let a=parseInt(e.sliceMax??``,10);!isNaN(a)&&a>0&&(r.sliceMax=a),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 o=parseFloat(e.barGap??``);isNaN(o)||(r.barGap=Math.max(0,Math.min(100,o))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let s=parseFloat(e.connectionsOpacity??``);isNaN(s)||(r.connectionsOpacity=Math.max(0,Math.min(1,s))),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 c=parseFloat(e.areaFillOpacity??``);return isNaN(c)||(r.areaFillOpacity=c),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.connectGaps!==void 0&&(r.connectGaps=e.connectGaps),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 eO=e=>e===!0||String(e).toLowerCase()===`true`;function tO(e){return new Map(e.map(e=>[e.key,e.value]))}function nO(e,t){let n=tO(t),r=YT(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]=V(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]=eO(t):a[e.key]=String(t))}return a}function rO(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function iO(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=>R(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!rO(String(e))?String(e):R(String(e)));return`${R(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${R(t)}`:typeof e.value==`string`&&rO(t)?`${R(e.key)} = ${R(t)}`:`${R(e.key)} = ${t}`}).join(`
357
- `)}function aO(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function oO(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function sO(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function cO(e){return e.map(e=>({target:e.target,color:aO(e.properties,`color`)??`#e15759`,label:aO(e.properties,`label`)}))}function lO(e){return e.map(e=>({target:e.target}))}function uO(e){return e.map(e=>{let t=tO(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 dO(e){let t=e.get(`repeat`);if(eO(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 fO(e){return e.map(e=>{let t=tO(e.properties),n=e.kind??Yr.Point;if(n===Yr.Range){let e={kind:Yr.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=dO(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===Yr.Free){let n={kind:Yr.Free,text:String(t.get(`text`)??``),x:oO(e.properties,`x`)??0,y:oO(e.properties,`y`)??0};n.repeat=dO(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=sO(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=eO(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Yr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=dO(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=sO(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=eO(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=eO(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=eO(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=eO(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 pO(e){return e.map(e=>{let t=tO(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`:eO(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=eO(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=eO(t.get(`hidden`))),t.has(`connectGaps`)&&(n.connectGaps=eO(t.get(`connectGaps`))),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 mO(e,t,n){if(!n&&t!==mi.Equals&&t!==mi.NotEquals)return!0;switch(t){case mi.Equals:return e===n;case mi.NotEquals:return e!==n;case mi.Contains:return e.toLowerCase().includes(n.toLowerCase());case mi.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case mi.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function hO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>mO(e[n]??``,t.condition??mi.Equals,t.value??``));return{...e,rows:r}}function gO(e){return Number(N(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function _O(e,t,n){return n===`number`?gO(e)-gO(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function vO(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var yO={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 bO(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`&&!yO[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 xO(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>gO(e[n]??``));return String(yO[e](r))}function SO(e,t){let n=vO({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=bO(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=>xO(e.fn,t,e.colIndex))])}}function CO(e,t){let n=vO(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 wO=[`string`,`number`,`date`],TO=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:hi.Type,accepts:wO,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:hi.Type,accepts:wO,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:hi.Type,accepts:wO,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:hi.Type,accepts:wO,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:hi.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:hi.String,accepts:wO,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:hi.String,accepts:wO,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:hi.String,accepts:wO,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:hi.String,accepts:wO,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:hi.String,accepts:wO,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:hi.String,accepts:wO,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:hi.String,accepts:wO,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:hi.String,accepts:wO,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:hi.String,accepts:wO,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:hi.String,accepts:wO,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:hi.String,accepts:wO,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:hi.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:hi.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:hi.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:hi.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:hi.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:hi.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:hi.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],EO=new Map(TO.map(e=>[e.id,e]));function DO(e,t){let n=EO.get(e);return n?n.accepts.includes(t):!1}function OO(e){return EO.get(e)?.outputType??`string`}function kO(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function AO(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function jO(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 AO(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 MO(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 NO(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return kO(e,e=>Math.round(e*t)/t)}case`floor`:return kO(e,Math.floor);case`ceil`:return kO(e,Math.ceil);case`abs`:return kO(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return kO(e,e=>Math.min(Math.max(e,t),r))}case`log`:return kO(e,e=>e>0?Math.log(e):NaN);case`exp`:return kO(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return kO(e,e=>Math.floor(e/t)*t)}default:return e}}function PO(e,t,n){switch(t){case`extract-year`:return AO(e,e=>String(e.getFullYear()));case`extract-month`:return AO(e,e=>String(e.getMonth()+1));case`extract-day`:return AO(e,e=>String(e.getDate()));case`extract-weekday`:return AO(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return AO(e,e=>String(e.getHours()));case`shift-date`:return AO(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 AO(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:AO(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function FO(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?jO(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?NO(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?PO(e,t,n):MO(e,t,n)}function IO(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 LO(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 RO(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 zO(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(!DO(r,i))return IO(e,n);if(r===`split`)return LO(e,n,t);if(r===`normalize`||r===`standardize`)return RO(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=FO(e[n],r,t);let o=[...e.columnTypes];return o[n]=OO(r),{columns:[...e.columns],rows:a,columnTypes:o}}function BO(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 VO(e,t){let n=vO(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===ti.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>gO(e[t]??``)),o=r.map(e=>gO(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=_O(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function HO(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 UO=[/^\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}$/],WO=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,GO=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function KO(e){if(!e)return!1;for(let t of UO)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 qO(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=N(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function JO(e){if(!e)return!1;let t=N(qO(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function YO(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(KO)?`date`:r.every(JO)?`number`:`string`})}function XO(e){let t=e.split(`
358
- `).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=V(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(GO),i=n??t[e].match(WO);i&&r.push({cells:V(i[2]).map(B),label:z(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(B):B(e[0]).split(`,`).map(e=>e.trim());return ZO([`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(WO);t&&i.push([z(t[1]),B(t[2])])}return ZO(r,i)}function ZO(e,t){return{columns:e,rows:t,columnTypes:YO(e,t)}}function QO(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:R(e)}function $O(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${R(t)} = ${QO(n)}`}).join(`
359
- `):[`series = ${e.slice(1).map(R).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>QO(e??``)).join(`,`);return`${R(t)} = ${n}`})].join(`
360
- `)}function ek(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:YO(n,a)}}var tk=new Set(Object.values(pi));function nk(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case pi.Sort:i=VO(i,t.config);break;case pi.Filter:i=hO(i,t.config);break;case pi.HideColumns:i=CO(i,t.config);break;case pi.Transpose:i=HO(i);break;case pi.Parse:i=zO(i,t.config);break;case pi.Rename:i=BO(i,t.config);break;case pi.GroupBy:i=SO(i,t.config)}return i}function rk(e){return e.filter(e=>tk.has(e.transformType)).map(e=>{let t={};for(let[n,r]of tO(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function ik(e,t){let n=rk(t);if(n.length===0)return e;let r=XO(e);if(r.columns.length===0)return e;let i=nk(n,r.columns,r.rows,r.columnTypes);return $O(i.columns,i.rows)}function ak(e,t){let n=rk(t);if(n.length===0||e.labels.length===0)return e;let r=ek(e),i=nk(n,r.columns,r.rows,r.columnTypes);return ie($O(i.columns,i.rows))}var ok=new Set;function sk(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ii.Total:!tk.has(t.transformType)&&!ok.has(t.transformType)&&(ok.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function ck(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`),altText:t(`altText`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:eO(n)||void 0,getTheData:eO(e.get(`getTheData`))||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function lk(e){let t=tO(e.properties),n=ie(ik(e.data?iO(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===ti.Ascending||i===ti.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return Object.values(ii).includes(s)&&(c=s),c=sk(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:ck(t),colorizes:cO(e.colorizes),highlights:lO(e.highlights),areaFills:uO(e.areaFills),annotations:fO(e.annotations),seriesOverrides:pO(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var uk=Object.create(null);function dk(e){if(!uk[e]){let t={};for(let n of YT(e))n.default!==void 0&&(t[n.key]=n.default);uk[e]=t}return{...uk[e]}}function fk(e,t){let n=dk(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var pk=[`verticalLabelPosition`,`horizontalLabelPosition`];function mk(e,t,n){let r=dk(t),i={...e};for(let e of pk)n[e]===void 0&&r[e]!==void 0&&r[e]!==Wr.Off&&(i[e]=r[e]);return i}var hk=new Set;function gk(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ii.Total:!tk.has(t.transformType)&&!hk.has(t.transformType)&&(hk.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function _k(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function vk(e,t,n){let r=_k();for(let i=0;i<=t;i++){let a=e[i],o=tO(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=nO(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 yk(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function bk(e,t){let n=e.options??(e.properties?fk(e.chartType,nO(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=vk(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?ie(iO(i.data)):ak(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?fk(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?mk(s,a,{...nO(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?cO(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:lO(i.highlights),d=i.areaFills.length>0?uO(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++)fO(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})=>yk(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?pO(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=Object.values(ii).includes(h)?h:void 0,_=gk(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`altText`,`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 xk=new WeakMap;function Sk(e){let t=xk.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function Ck(e,t){let n=xk.get(e);n||(n=new Set,xk.set(e,n)),n.add(t)}function wk(e,t,n){if(Sk(e),n.ignoreLayout||!t)return{constrained:!1};let r=tO(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`,Ck(e,`aspectRatio`),Ck(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,Ck(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,Ck(e,`display`),Ck(e,`flexDirection`),Ck(e,`overflow`)),{constrained:s}}var Tk=new WeakMap;function Ek(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function Dk(e,t,n){if(!n)return null;let r=Tk.get(e);return!r||r===t?null:(Ek(e),H_(e))}function Ok(e,t,n){if(Tk.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&V_(t),U_(e,n)}}function kk(e){Tk.delete(e),Ek(e)}var Ak=`http://www.w3.org/2000/svg`;function jk(e){return e.replace(/\s+/g,` `).trim()}function Mk(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 Nk(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?jk(t.title):``,a=t?.description?jk(t.description):``,o=t?.altText?jk(t.altText):``;return{label:i||r,description:o||[a,Mk(r,n)].filter(Boolean).join(` `)}}function Pk(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(Ak,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function Fk(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),Pk(e,`desc`,t.description),Pk(e,`title`,t.label)}function Ik(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function Lk(e,t,n){let r=Ik(e);r&&t.accessibility&&Fk(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 Rk(e,t,n={}){let r=!!n.transition||jx(e).state===`animating`;if(r||(jx(e).interrupt(),e.replaceChildren(),kk(e)),t.data.labels.length===0){r&&(jx(e).interrupt(),e.replaceChildren(),kk(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=wk(e,i.properties,n),o=bk(i,n.sceneIndex),s=JT(o.chartType);if(!s)return;Ov(e,o.chartType);let c=Dk(e,o.chartType,r);c&&e.replaceChildren();let l=kr(e),u=$D(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,data:o.data}}let f=jx(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:B_(),mode:n.transitionMode}),Lk(e,{theme:n.theme??o.theme,accessibility:Nk(o.chartType,d,o.data)},a),Ok(e,o.chartType,c)}function zk(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 Bk(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=M(t)}catch(t){zk(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{Rk(e,lk(r),n)}catch(t){zk(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function Vk(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 Hk=Vk;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,S):S(),e.createSceneController=Vk,e.createStepController=Hk,e.initBlueprint=S,e.renderBpc=Bk,e})({});
354
+ `,document.head.appendChild(e)}function mC(e){let t=e?r_(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 hC(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=li.Both,crosshairStyle:l=ui.Dashed,crosshairColor:u=`#999`,format:d=mC(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&dC.set(f,e),e}let p=l===ui.Solid?`none`:l===ui.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(pC(),g=document.createElement(`div`),g.className=uC,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===li.Both||c===li.Vertical),x=s&&(c===li.Both||c===li.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`?Nd.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=Hi(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]=Is(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`,fb(w.node(),g,{placement:`top`,middleware:[lb(8),db(),ub()]}).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&&dC.get(f)===j&&dC.delete(f)};return f&&dC.set(f,j),j}var gC={circle:Ih,square:Vh,diamond:Bh,triangle:Jh,triangleDown:Xh??Jh,cross:Lh,star:Kh};function _C(e,t,n){switch(n){case ei.First:return e===0;case ei.Last:return e===t-1;case ei.FirstLast:return e===0||e===t-1;case ei.All:default:return!0}}function vC(e,t,n,r,i=2){return r===`everyN`?n%i===0:_C(e,t,r)}function yC(e,t,n,r,i=!1){let a=r.symbol??$r.Circle,o=r.showOn??ei.FirstLast,s=r.style??ti.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=>_C(e.index,n,o)),f=i?V_():0;if(a===$r.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===ti.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ti.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===ti.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ti.Hollow?1.5:0).attr(`opacity`,l)}else{let t=gC[a]??Ih,n=Math.PI*c*c,r=Zh().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===ti.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ti.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===ti.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ti.Hollow?1.5:0).attr(`opacity`,l)}}var bC=ae[0];function xC(e,t,n={},r=!1){B_(r),fC(e);let i=[],a=[],o=null,s=null,c,l,u,d=Av.for(e);if(r){let t=vx(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=U_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))c.set(e,n);e.replaceChildren()}let{body:f}=e_(e,n.frame),p=F_(f).width,m=A_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=N_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=pv(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}=L_(f,h),x=b_(l,b),S=Ai(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=Ef().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]=Mi(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?tp().domain([j,M]).nice().range([y,0]):Bf().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=Sx(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]??bC,V=lC(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,U=e=>Number.isFinite(e.value),te=Mh().curve(V).defined(U).x(e=>k(e)).y0(n.areaFillBaseline===`zero`?N(0):y).y1(e=>N(e.value)),ne=jh().curve(V).defined(U).x(e=>k(e)).y(e=>N(e.value)),re=e=>n.connectGaps?e.filter(U):e,ie=Q(z).append(`g`).node(),W=Q(z).append(`g`).node();if(r){for(let e of i)ie.appendChild(e);for(let e of a)W.appendChild(e)}let ae=Mx(e),oe=[{name:`line`,points:T}];Wx(ae,{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:te(re(e.points))??``,fill:B,opacity:ee})}),Wx(ae,{role:`series-line`,parent:W,selector:`.bc-line`,data:oe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ne(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(Qx(ae,{svg:I,clipId:L,group:_,from:u,to:se,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&mx(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Ar(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&hC(_,{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=>i_(e.value,n.verticalAxis?.numberFormat),r=e=>gS(t(e),k(e),N(e.value),{width:v,height:y,margin:b}),i=E.filter((e,t)=>vC(t,E.length,T.indexOf(e),n.valueLabelPoints,n.valueLabelEvery));e.selectAll(`.bc-value-label`).data(i,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>r(e).x).attr(`y`,e=>r(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,B).text(t)}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`),yC(t,e,T.length,n.lineSymbols,r)}yx(e,{chartType:`line`,margin:b,plotRect:se}),s&&(H_(R.node()),W_(e,s))}var SC=28,CC=18,wC=20,TC=12,EC=.3;function DC(e,t,n,r=SC){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 OC(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+CC,c=SC/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=DC(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*wC;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`);r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,jr(e.color,a)).text(e.label),c&&y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(e.valueText)})}d(u,!0),d(l,!1)}var kC=.3;function AC(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<kC||__(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=Or(e.color);t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n&&d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(e.valueText)}c.length>0&&OC(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function jC(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=__(e.label,a);n>r*1.2&&t>=kC&&r<=u*2?c.push(e):l.push(e)}c.length>0&&AC(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&OC(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function MC(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+v_(e,TC)+6,i=e.length*SC/2,a=Math.max(10,i-t+20),o=NC(r,n.width),s=NC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function NC(e,t){return t>0?Math.min(e,t*EC):e}function PC(e,t,n={},r=!1){B_(r),fC(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=Av.for(e);if(r){let t=vx(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=U_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))l.set(e,n);e.replaceChildren()}let{body:p}=e_(e,n.frame),m=i.series??[],h=m.filter(e=>!$S(e.name,n.seriesOverrides));(n.sortMode===ai.Total||n.sortMode===ai.WithinGroups)&&(h=Tx(h,e=>e.values.reduce((e,t)=>e+t,0),ni.Descending));let g=qS(n.colors??ae,m.length),_=h.map(e=>e.name),v=gx(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=>eC(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=F_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=Ai(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=N_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?BS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?zS(_,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=(pv(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}=L_(p,R),ee=b_(u,H),[U,te]=Mi(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),ne=Ef().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),re=ne,ie=e=>ne(i.labels[e])??0,W=n.verticalAxis?.scaleType===`log`?tp().domain([U,te]).nice().range([V,0]):Bf().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:re,height:V,options:{...n.horizontalAxis,width:B,zeroY:se}}});let ce=z.ownerSVGElement,le=Sx(ce,e,`plot`,{x:0,y:0,width:B,height:V}),ue=Q(z).append(`g`).attr(`clip-path`,`url(#${le})`),de=ue.node(),fe=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),pe=lC(n.interpolation);n.areaFills?.length&&FC(de,n.areaFills,h,ie,i.labels.length,W,pe);let me=e=>Number.isFinite(e),G=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{me(e.values[r])&&G.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let K=n.lineSymbols,he={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},ge=n.valueLabels??!1,_e=tS(n.highlights,_),ve=n.areaFill??!1,ye=n.areaFillOpacity??.2,be=e=>v.get(e.name)??YS(e.name,e.colorIndex,g,y),xe=e=>{let t=e.values.map((e,t)=>[t,e]);return y?.find(t=>t.name===e.name)?.connectGaps??n.connectGaps?t.filter(e=>me(e[1])):t},Se=Mh().curve(pe).defined(e=>me(e[1])).x(e=>ie(e[0])).y0(V).y1(e=>W(e[1])),Ce=Mx(e),we=Q(de).append(`g`).node(),Te=Q(de).append(`g`).node(),Ee=new Set(fe.map(e=>e.name));if(r){for(let e of a)Ee.has(e.__data__?.name??``)&&we.appendChild(e);for(let e of o)Ee.has(e.__data__?.name??``)&&Te.appendChild(e)}Wx(Ce,{role:`series-area`,parent:we,selector:`.bc-area`,data:ve?fe:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(xe(e))??``,fill:be(e),opacity:nS(_e,e.name,ye)})}),Wx(Ce,{role:`series-line`,parent:Te,selector:`.bc-line`,data:fe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=QS(e.name,n.interpolation??`linear`,y),r=jh().curve(lC(t)).defined(e=>me(e[1])).x(e=>ie(e[0])).y(e=>W(e[1]));return{"data-series":e.name,d:r(xe(e))??``,fill:`none`,stroke:be(e),style:`stroke-width:${ZS(e.name,y)}`,"stroke-dasharray":he[XS(e.name,y)]??``,opacity:nS(_e,e.name,1)}}}),Q(de).append(`g`).selectAll(`.bc-dot`).data(G,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ie(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 q={left:H.left,top:H.top,width:B,height:V};if(Qx(Ce,{svg:ce,clipId:le,group:z,from:d,to:q,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}));mx(z,n.annotations,{scaleX:re,scaleY:W,data:t,width:B,height:V,backgroundColor:Ar(e),transition:r,priorAnnotations:l})}let De=Q(z).insert(`g`,()=>de.nextSibling).attr(`class`,`bc-value-labels`);Xi(G,e=>e.series).forEach(e=>e.forEach((t,r)=>{let a=i.labels.indexOf(t.label);if(!tC(t.series,ge,y)||!vC(r,e.length,a,n.valueLabelPoints,n.valueLabelEvery))return;let o=ie(a),s=W(t.value),c=i_(t.value,n.verticalAxis?.numberFormat),l=gS(c,o,s,{width:B,height:V,margin:H});De.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,t.series).attr(`x`,l.x).attr(`y`,l.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,be({name:t.series,values:[],colorIndex:t.colorIndex})).attr(`opacity`,nS(_e,t.series,1)).text(c)})),(n.tooltips||n.crosshair)&&hC(z,{width:B,height:V,points:G.map(e=>({cx:ie(i.labels.indexOf(e.label)),cy:W(e.value),label:e.label,value:e.value,series:e.series,color:YS(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 Oe=K?{name:``,lineSymbols:!0,symbolShape:K.symbol,symbolShowOn:K.showOn,symbolStyle:K.style,symbolSize:K.size,symbolOpacity:K.opacity}:void 0,ke=i.labels.length;h.forEach((e,t)=>{let n=rC(e.name,Oe,y);if(!n)return;let a={symbol:n.symbolShape??K?.symbol??$r.Circle,showOn:n.symbolShowOn??K?.showOn??ei.FirstLast,style:n.symbolStyle??K?.style??ti.Filled,size:n.symbolSize??K?.size??3.5,opacity:n.symbolOpacity??K?.opacity??1},o=i.labels.map((n,r)=>({cx:ie(r),cy:W(e.values[r]),color:YS(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),yC(l,o,ke,a,r&&u)});let Ae=i.labels.length-1,je=ie(Ae)+6,Me=[];if(h.forEach((e,t)=>{if(eC(e.name,x,y)!==`direct`)return;let n=e.values[Ae];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;Me.push({name:e.name,index:t,naturalY:W(n),text:r})}),Me.length>0){Me.sort((e,t)=>e.naturalY-t.naturalY);let e=DC(Me.map(e=>e.naturalY),0,V,14);Me.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,je).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,YS(t.name,t.index,g,y)).text(t.text)})}let Ne=_.filter(e=>eC(e,x,y)===`legend`);if(C&&Ne.length>0){let e=Ne.map(e=>YS(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);GS(z,Ne,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}yx(e,{chartType:`line-multi`,margin:H,plotRect:q}),c&&(H_(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?lC(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)LC(s,t.values,i.values,r,a,c,u,d,l);else{let e=Mh().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 LC(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)}}function RC(e){return i_(Number(e.toPrecision(12)),`,`)}var zC=class extends Hg{initialize(){}};function BC(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=vx(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=U_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))o.set(e,n);e.replaceChildren()}let{body:s}=e_(e,n.frame),c=Tx(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(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)}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=n.verticalAxis?.numberFormat,m=n_(p||`.0%`).d3Spec.endsWith(`%`),h=(e,t)=>n.displayAsPercentage?i_(m?f[t]/100:f[t],p||`.0%`):p?i_(e,p):RC(e),g=qS(n.colors??ae,l.length),_=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?fi.Auto:fi.Off,v=!!_&&(_!==fi.Auto||n.legend!==!0),y=(n.showValues??!0)&&!v?u.map((e,t)=>`(${h(e,t)})`):[],b=n.legend!==!1&&!v,x=F_(s).width,S=n.legendPosition??`top`,C=x>0&&x<350&&(S===`left`||S===`right`)?`top`:S,w=n.legendAnchor??`start`,T=y.length>0?l.map((e,t)=>`${e} ${y[t]}`):l,E=Math.max(0,x-50-20),D=b?zS(T,C,E):{width:0,height:0},O=b?D.height+15:0,k={};if(b&&C===`top`&&(k.top=O),b&&C===`bottom`&&(k.bottom=24+O),b&&C===`left`&&(k.left=50+D.width+10),b&&C===`right`&&(k.right=20+D.width+10),v){let e=F_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=MC(l,r,{width:t,height:n});k.left=(k.left??20)+i.left,k.right=(k.right??20)+i.right,k.top=(k.top??20)+i.top,k.bottom=(k.bottom??20)+i.bottom}let{chartArea:A,width:j,height:M,margin:N}=L_(s,k),P=Math.min(j,M)/2,F=P*r,I=Cf().domain(l).range(g),L=Fh().sort(null),R=Th().innerRadius(F).outerRadius(P),z=Q(A).append(`g`).attr(`transform`,`translate(${j/2},${M/2})`),B=gx(n.colorizes),V=L(u),H=V.map((e,t)=>({label:l[t],value:u[t],arc:e,color:B.get(l[t])??I(l[t])})),ee=Mx(e),U=tS(n.highlights,l);Wx(ee,{role:`mark-per-category`,parent:z.append(`g`).node(),selector:`.bc-arc`,data:H,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:R(e.arc)??``,fill:e.color};return U.size>0?{...t,opacity:nS(U,e.label)}:t}});let te=new zC(z);if(n.tooltips&&te.use(gb()),te.draw(H),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(H.map(e=>[e.label,R.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&hx(a,{scaleX:Cf().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+j/2)),scaleY:Bf().domain([0,1]).range([0,1]),data:H.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+M/2})),width:j,height:M,backgroundColor:Ar(e),transition:i,priorAnnotations:o}).postDraw({base:Q(A)},void 0)}if(v){let t=V.map((e,t)=>({label:l[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:I(l[t]),valueText:h(e.data,t),showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=z,i={outerRadius:P,innerRadius:F,chartWidth:j,chartHeight:M,bgColor:Ar(e)};_===fi.Inside?AC(r,t,i):_===fi.Auto?jC(r,t,i):OC(r,t,i)}let ne=n.centerLabel??`total`;if(n.showTotal&&r>0&&!(ne===`total`&&n.displayAsPercentage)){let e=Math.max(0,l.indexOf(n.centerSlice??``)),[t,r]=ne===`slice`?[l[e],i_(f[e]/100,`.0%`)]:ne===`custom`?[``,n.centerText??``]:[n.totalLabel??`Total`,p?i_(d,p):RC(d)];t&&z.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(t),z.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,t?`1em`:`0.35em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(r)}if(b){let e=0,t=0;C===`top`?t=-(D.height+10):C===`bottom`?t=M+25:C===`left`?e=-(D.width+10):C===`right`&&(e=j+10),GS(A,l,g,t,C,w,j,M,e,y,{left:N.left,right:N.right})}yx(e,{chartType:r>0?`donut`:`pie`}),a&&(H_(z.node()),W_(e,a))}function HC(e,t,n={},r=!1){VC(e,t,n,0,r)}var UC=ae[0];function WC(e,t,n={},r=!1){B_(r),fC(e);let i=[],a=[],o=null,s=null,c,l,u,d=Av.for(e);if(r){let t=vx(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=U_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))c.set(e,n);e.replaceChildren()}let{body:f}=e_(e,n.frame),p=F_(f).width,m=A_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=N_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=pv(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}=L_(f,h),x=b_(l,b),S=Ai(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=Ef().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]=Mi(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?tp().domain([j,M]).nice().range([y,0]):Bf().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=Sx(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]??UC,V=lC(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),U=Mh().curve(V).defined(ee).x(e=>k(e)).y0(n.areaFillBaseline===`zero`?N(0):y).y1(e=>N(e.value)),te=jh().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=Mx(e),W=[{name:`area`,points:T}];Wx(ie,{role:`series-area`,parent:ne,selector:`.bc-area`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:U(e.points)??``,fill:B,opacity:H})}),Wx(ie,{role:`series-line`,parent:re,selector:`.bc-line`,data:W,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 ae={left:b.left,top:b.top,width:v,height:y};if(Qx(ie,{svg:I,clipId:L,group:_,from:u,to:ae,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&mx(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Ar(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&hC(_,{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=>gS(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`),yC(t,e,T.length,n.lineSymbols,r)}yx(e,{chartType:`area`,margin:b,plotRect:ae}),s&&(H_(R.node()),W_(e,s))}function GC(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 xg().keys(n).order(vg).offset(r?Sg:_g)(i)}function KC(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 xg().keys(n).order(vg).offset(r?Sg:_g)(i)}function qC(e){let t=new Map,n=[...e].sort((e,t)=>t.y1-t.y0-(e.y1-e.y0)),r=new Map;for(let e of n){let n=t.get(e.label)??{up:0,down:0};t.set(e.label,n);let i=e.y1-e.y0;e.y0<0?(r.set(e,{...e,y1:n.down,y0:n.down-i}),n.down-=i):(r.set(e,{...e,y0:n.up,y1:n.up+i}),n.up+=i)}return e.map(e=>r.get(e))}function JC(e,t,n={},r=!1){B_(r),fC(e);let i=t,a=[],o=[],s=null,c,l,u,d=Av.for(e);if(r){let t=vx(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=U_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))c.set(e,n);e.replaceChildren()}let{body:f}=e_(e,n.frame),p=Ai(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=KS(i),h=m.filter(e=>!$S(e.name,n.seriesOverrides)),g=qS(n.colors??ae,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=gx(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=>eC(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=F_(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===di.Percent,j=n.areaSortMode??ni.None,M=n.areaLines!==!1,N=Tx(h,e=>e.values.reduce((e,t)=>e+t,0),j===ni.None||j===ni.Ascending?j:ni.Descending),P={labels:i.labels,values:i.values,series:N},F=A?KC(P):GC(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=N_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?BS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),U=w?zS(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=(pv(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:re,width:ie,height:W,margin:oe}=L_(f,ne),se=b_(l,oe),ce=Ef().domain(i.labels).range([0,ie]).padding(n.edgePadding?.6:0),le=ce,ue=e=>ce(i.labels[e])??0,[de,fe]=Mi(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),pe=(n.verticalAxis?.scaleType===Ur.Log?tp():Bf()).domain([de,fe]).nice().range([W,0]);d.attach(re,se),d.update({vertical:{scale:pe,height:W,options:{...n.verticalAxis,numberFormat:R,gridWidth:ie,topPadding:oe.top}},horizontal:{scale:le,height:W,options:{...n.horizontalAxis,width:ie}}});let me=re.ownerSVGElement,G=Sx(me,e,`plot`,{x:0,y:0,width:ie,height:W}),K=Q(re).append(`g`).attr(`clip-path`,`url(#${G})`),he=K.node(),ge=lC(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=>[pe(e[0]),pe(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[pe(0),pe(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ve=tS(n.highlights,_e.map(e=>e.name)),ye=ve.size>0,be=n.areaFillOpacity==null?.85:n.areaFillOpacity,xe=e=>b.get(e.name)??YS(e.name,e.colorIndex,g,y),Se=Mh().curve(ge).x((e,t)=>ue(t)).y0(e=>e[0]).y1(e=>e[1]),Ce=Q(he).append(`g`).node(),we=Q(he).append(`g`).node();if(r){for(let e of a)Ce.appendChild(e);for(let e of o)we.appendChild(e)}let Te=Mx(e);Wx(Te,{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?nS(ve,e.name,be):be})}),Wx(Te,{role:`series-line`,parent:we,selector:`.bc-line`,data:M?_e:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=QS(e.name,n.interpolation??`monotoneX`,y),r=jh().curve(lC(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?nS(ve,e.name,1):1}}});let Ee={left:oe.left,top:oe.top,width:ie,height:W};if(Qx(Te,{svg:me,clipId:G,group:re,from:u,to:Ee,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}));mx(re,n.annotations,{scaleX:le,scaleY:pe,data:t,width:ie,height:W,backgroundColor:Ar(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:pe(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:YS(e.key,n,g,y)})})}),hC(re,{width:ie,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 q=i.labels.length-1,De=ue(q)+6,Oe=[];if(h.forEach((e,t)=>{if(eC(e.name,S,y)!==`direct`)return;let n=F.find(t=>t.key===e.name);if(!n)return;let r=n[q];if(!r)return;let i=pe((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=DC(Oe.map(e=>e.naturalY),0,W,14);Oe.forEach((t,n)=>{Q(re).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`,YS(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>eC(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>YS(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=ie+10);GS(re,ke,e,n,D,O,ie,W,t,[],{left:oe.left,right:oe.right})}yx(e,{chartType:`area-stacked`,margin:oe,plotRect:Ee}),s&&(H_(K.node()),W_(e,s))}var YC=4;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 ZC(e,t,n={},r=!1){B_(r);let i=[],a=null,o,s,c,l=Av.for(e);if(r){let t=vx(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=U_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))o.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=KS(t),f=d.filter(e=>!$S(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=qS(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=F_(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===di.Percent,C=XC(S?KC(x):GC(x),t.labels,d),w=n.sortMode===ai.WithinGroups?qC(C):C,T=S?100:ua(w,e=>e.y1)??0,E=S?Math.min(0,da(w,e=>e.y0)??0):0,D=S?[E,T]:w.flatMap(e=>[e.y0,e.y1]),O=A_(D,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),k=N_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?zS(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===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let F=Math.max(0,_-(P.left??50)-(P.right??20));P.bottom=(pv(t.labels,F,n.horizontalAxis)??Math.max(P.bottom??24,24))+(y===`bottom`?N:0);let{chartArea:I,width:L,height:R,margin:z}=L_(u,P),B=b_(s,z),V=Dx(t.labels,d,n),H=wf().domain(V).range([0,L]).padding(ji(n.barGap)),[ee,U]=Mi(D,n.verticalAxis?.range,n.verticalAxis?.scaleType),te=(n.verticalAxis?.scaleType===Ur.Log?tp():Bf()).domain([ee,U]).nice().range([R,0]);l.attach(I,B),l.update({vertical:{scale:te,height:R,options:{...n.verticalAxis,gridWidth:L,topPadding:z.top}},horizontal:{scale:H,height:R,options:{...n.horizontalAxis,width:L}}});let ne=I.ownerSVGElement,re=Sx(ne,e,`bars`,{x:0,y:0,width:L,height:R}),ie=Q(I).append(`g`).attr(`clip-path`,`url(#${re})`),W=V===t.labels?w:V.flatMap(e=>w.filter(t=>t.label===e)),oe=gx(n.colorizes),se=tS(n.highlights,w.map(e=>e.seriesName)),ce=Mx(e),le=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);Wx(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:W,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)??YS(e.seriesName,e.seriesIndex,m,h),n=nC(e.seriesName,h),r={"data-series":e.seriesName,x:H(e.label)??0,y:te(e.y1),width:H.bandwidth(),height:te(e.y0)-te(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=nS(se,e.seriesName)),r}});let ue={left:z.left,top:z.top,width:L,height:R};Qx(ce,{svg:ne,clipId:re,group:I,from:c,to:ue,active:r&&i.length>0});let de=wx(ie);if(n.tooltips&&de.use(gb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(vb({width:L,height:R,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)}));de.use(hx(n.annotations,{scaleX:H,scaleY:te,data:i,width:L,height:R,backgroundColor:Ar(e),transition:r,priorAnnotations:o}))}let fe=()=>de.draw(W);ce.state===`committing`?ce.register(fe):fe(),yx(e,{chartType:`column-stacked`,margin:z,plotRect:ue}),a&&(H_(ie.node()),W_(e,a));let pe=n.valueLabels??!1,me=n.valueLabelPosition??ci.Auto,G=Zi(W,e=>ua(e,e=>e.y1)??0,e=>e.label),K=e=>e.y0<0?e.y1:e.y0,he=e=>e.y0<0?e.y0:e.y1,ge=new Map(W.filter(e=>e.value!==0).map(e=>[e.label+`\0`+K(e),e])),_e=n.showTotal===!0&&!S,ve=e=>n.verticalAxis?.numberFormat?i_(e,n.verticalAxis.numberFormat):String(Math.round(e*100)/100),ye=Q(I).append(`g`).attr(`class`,`bc-value-labels`);if(W.forEach(e=>{if(!tC(e.seriesName,pe,h))return;let t=(H(e.label)??0)+H.bandwidth()/2,r=Math.abs(te(e.y0)-te(e.y1)),i=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?a_(e.value,G.get(e.label)??0):ve(e.value),a=uS({text:i,placement:`inside`,orientation:`vertical`,barWidth:H.bandwidth(),barHeight:r}),o=ge.get(e.label+`\0`+he(e));if(me===ci.Outside||me===ci.Auto&&!a&&!o){let n=e.y0<0;if(_e&&!n&&!o)return;let a=te(he(e)),s=a+(n?15:-4),c=o?Math.abs(te(o.y1)-te(o.y0)):n?R+z.bottom-a:a+z.top;if(e.value===0||c<15||!uS({text:i,placement:`outside`,orientation:`vertical`,barWidth:H.bandwidth(),barHeight:r}))return;ye.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=oe.get(e.seriesName)??YS(e.seriesName,e.seriesIndex,m,h);ye.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,te(e.y0)-r/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Or(s)).text(i)}),_e)for(let[e,t]of G)t<=0||ye.append(`text`).attr(`class`,`bc-total-label`).attr(`x`,(H(e)??0)+H.bandwidth()/2).attr(`y`,te(t)-YC).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`font-weight`,`bold`).attr(`fill`,`currentColor`).text(ve(t));if(g&&p.length>0){let e=p.map(e=>YS(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=R+Math.max(z.bottom-N,0):y===`left`?t=-(M.width+10):y===`right`&&(t=L+10);GS(I,p,e,n,y,b,L,R,t,[],{left:z.left,right:z.right})}}function QC(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 $C(e,t,n={},r=!1){B_(r);let i=[],a=null,o,s,c,l=Av.for(e);if(r){let t=vx(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=U_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))o.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=KS(t),f=d.filter(e=>!$S(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=qS(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=F_(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===di.Percent,C=QC(S?KC(x):GC(x),t.labels,d),w=n.sortMode===ai.WithinGroups?qC(C):C,T=S?100:ua(w,e=>e.y1)??0,E=S?Math.min(0,da(w,e=>e.y0)??0):0,D=bS(_,n.verticalAxis?.labelPosition),O=n.categoryLabelLine===!0||D,k=M_(t.labels),A=N_(_,O?Gr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,k,n.horizontalAxis?.showAxis),j=A.top!=null,M=Math.max(0,_-(A.left??50)-(A.right??20)),N=g?zS(p,y,M):{width:0,height:0},P=g?N.height+15:0,F={...A};g&&y===`top`&&(F.top=P+(j?15:0)),g&&y===`bottom`&&(F.bottom=(F.bottom??24)+P),g&&y===`left`&&(F.left=(F.left??50)+N.width+10),g&&y===`right`&&(F.right=(F.right??20)+N.width+10);let{chartArea:I,width:L,height:R,margin:z}=L_(u,F),B=b_(s,z),V=Dx(t.labels,d,n),[H,ee]=Mi(S?[E,T]:w.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),U=(n.horizontalAxis?.scaleType===Ur.Log?tp():Bf()).domain([H,ee]).nice().range([0,L]),te=wf().domain(V).range([0,R]).padding(ji(n.barGap));l.attach(I,B),l.update({horizontal:{scale:U,height:R,options:{...n.horizontalAxis,width:L}},vertical:{scale:te,height:R,options:{...n.verticalAxis,labelPosition:O?Gr.Off:n.verticalAxis?.labelPosition,topPadding:z.top,...D?{showAxis:!1}:{}}},order:`horizontal-first`});let ne=I.ownerSVGElement,re=Sx(ne,e,`bars`,{x:0,y:0,width:L,height:R}),ie=Q(I).append(`g`).attr(`clip-path`,`url(#${re})`),W=V===t.labels?w:V.flatMap(e=>w.filter(t=>t.label===e)),oe=O?vS(te.bandwidth()):0,se=gx(n.colorizes),ce=tS(n.highlights,w.map(e=>e.seriesName)),le=Mx(e),ue=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ue.appendChild(e);Wx(le,{role:`mark-per-cell`,parent:ue,selector:`.bc-bar-stacked`,data:W,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=se.get(e.seriesName)??YS(e.seriesName,e.seriesIndex,m,h),n=nC(e.seriesName,h),r={"data-series":e.seriesName,x:U(e.y0),y:(te(e.label)??0)+oe,width:U(e.y1)-U(e.y0),height:Math.max(0,te.bandwidth()-oe),fill:t};return n<1&&(r[`fill-opacity`]=n),ce.size>0&&(r.opacity=nS(ce,e.seriesName)),r}});let de={left:z.left,top:z.top,width:L,height:R};Qx(le,{svg:ne,clipId:re,group:I,from:c,to:de,active:r&&i.length>0});let fe=wx(ie);if(n.tooltips&&fe.use(gb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&fe.use(vb({width:L,height:R,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Qr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));fe.use(hx(n.annotations,{scaleX:te,scaleY:U,data:i,width:L,height:R,backgroundColor:Ar(e),orientation:Qr.Horizontal,transition:r,priorAnnotations:o}))}let pe=()=>fe.draw(W);if(le.state===`committing`?le.register(pe):pe(),yx(e,{chartType:`bar-stacked`,margin:z,plotRect:de}),a&&(H_(ie.node()),W_(e,a)),O){let e=Q(I).append(`g`).attr(`class`,`bc-category-labels`);for(let t of V){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 me=n.valueLabels??!1,G=n.valueLabelPosition??ci.Auto,K=new Set,he=new Map;for(let e of V){let t=W.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];K.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;he.set(n,U(t[e+1].y1)-U(t[e].y1))}}}let ge=new Map,_e=Zi(W,e=>ua(e,e=>e.y1)??0,e=>e.label),ve=Q(I).append(`g`).attr(`class`,`bc-value-labels`);if(W.forEach(e=>{if(!tC(e.seriesName,me,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?a_(e.value,_e.get(e.label)??0):String(Math.round(e.value*100)/100),r=U(e.y1)-U(e.y0),i=t.length*6.5+8,a=r>=i,o=(te(e.label)??0)+oe+(te.bandwidth()-oe)/2,s=YS(e.seriesName,e.seriesIndex,m,h),c=K.has(e.label+`\0`+e.seriesName),l=G===ci.Outside||G===ci.Auto&&!a&&c,u=uS({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:te.bandwidth()}),d=()=>{let n=U(e.y0)+r/2;ve.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`,Or(s)).text(t)};if(l){if(G===ci.Inside)d();else{let n=U(e.y1)+4,r=ge.get(e.label)??0,a=he.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=L+z.right-2,f=n+i>l;s||c||f||!u?d():(ge.set(e.label,n+i),ve.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=U(e.y0)+r/2;ve.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`,Or(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>YS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=j?15:0;n=-(N.height+10+e)}else y===`bottom`?n=R+25:y===`left`?t=-(N.width+10):y===`right`&&(t=L+10);GS(I,p,e,n,y,b,L,R,t,[],{left:z.left,right:z.right})}}var ew=16,tw=4,nw=20,rw=`600 11px sans-serif`,iw=`…`;function aw(e,t){if(hS(e,rw)<=t)return e;let n=e;for(;n.length>0&&hS(n+iw,rw)>t;)n=n.slice(0,-1);return n+iw}function ow(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*ew)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=Mi(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===Ur.Log?tp():Bf()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+ew),panelWidth:o,xScale:l}})}function sw(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 cw(e,t,n={},r=!1){B_(r);let i=[],a=null,o,s,c,l=Av.for(e);if(r){let t=vx(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=U_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))c.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=KS(t),f=d.filter(e=>!$S(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=qS(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=F_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=bS(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=M_(t.labels),w=N_(_,S?Gr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+nw;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?zS(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+nw),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}=L_(u,O),N=b_(o,M),P=Dx(t.labels,d,n),F=wf().domain(P).range([0,j]).padding(ji(n.barGap)),I=S?vS(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Gr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=ow(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)bv(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=Sx(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(aw(e.seriesName,e.panelWidth));let ee=sw(L,P,t.labels,d),U=tS(n.highlights,ee.map(e=>e.seriesName)),te=gx(n.colorizes),ne=Mx(e),re=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),re.appendChild(e);Wx(ne,{role:`mark-per-cell`,parent:re,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)??YS(e.seriesName,e.seriesIndex,m,h),n=nC(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=nS(U,e.seriesName)),r}});let ie={left:M.left,top:M.top,width:A,height:j};Qx(ne,{svg:z,clipId:B,group:k,from:s,to:ie,active:r&&i.length>0});let W=wx(V);if(n.tooltips&&W.use(gb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&W.use(vb({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Qr.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(hx(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:Ar(e),orientation:Qr.Horizontal,transition:r,priorAnnotations:c}))}let oe=()=>W.draw(ee);if(ne.state===`committing`?ne.register(oe):oe(),yx(e,{chartType:`bar-split`,margin:M,plotRect:ie}),a&&(H_(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??ci.Auto,le=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!tC(e.seriesName,se,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=YS(e.seriesName,e.seriesIndex,m,h),r=e.value<0,i=r?e.xPos:e.xPos+e.barWidth,a=r?-1:1,o=hS(String(e.value)),s=Math.max(0,F.bandwidth()-I),c=(F(e.label)??0)+I+s/2,l=r?i-tw-o>=t.xOffset:i+tw+o<=t.xOffset+t.panelWidth,u=ce===ci.Inside||!l||ce===ci.Auto&&e.barWidth>30;if(!uS({text:String(e.value),placement:u?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:s}))return;let d=u?-a:a,f=i+d*tw,p=d<0?`end`:`start`,g=u?Or(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=>YS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+nw):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),GS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}function lw(e,t,n={},r=!1){B_(r);let i=[],a=null,o,s,c,l=Av.for(e);if(r){let t=vx(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=U_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))c.set(e,n);e.replaceChildren()}let{body:u}=e_(e,n.frame),d=KS(t),f=d.filter(e=>!$S(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=qS(n.colors??ae,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=F_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=bS(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=M_(t.labels),T=N_(v,C?Gr.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=_?zS(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}=L_(u,k),P=b_(o,N),F=Dx(t.labels,d,n),I=wf().domain(F).range([0,M]).paddingInner(ji(n.barGap)).paddingOuter(.05),L=C?vS(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=wf().domain(p).range([0,R]).padding(.05),[B,V]=Mi(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===Ur.Log?tp():Bf()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Gr.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=Sx(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??ae)[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=n.sortMode===ai.WithinGroups?Ox(t.labels,f):null,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,slot:ne?ne(e,t.name):t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let ie=tS(n.highlights,re.map(e=>e.seriesName)),W=gx(n.colorizes),oe=Mx(e),se=te.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),se.appendChild(e);Wx(oe,{role:`mark-per-cell`,parent:se,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=W.get(e.seriesName)??YS(e.seriesName,e.seriesIndex,h,g),n=nC(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.slot)??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=nS(ie,e.seriesName)),r}});let ce={left:N.left,top:N.top,width:j,height:M};Qx(oe,{svg:ee,clipId:U,group:A,from:s,to:ce,active:r&&i.length>0});let le=wx(te);if(n.tooltips&&le.use(gb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&le.use(vb({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Qr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));le.use(hx(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:Ar(e),orientation:Qr.Horizontal,transition:r,priorAnnotations:c}))}let ue=()=>le.draw(re);if(oe.state===`committing`?oe.register(ue):ue(),yx(e,{chartType:`bar-grouped`,margin:N,plotRect:ce}),a&&(H_(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 de=n.valueLabels??!0,fe=n.valueLabelPosition??ci.Auto,pe=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(re.forEach(e=>{if(!tC(e.seriesName,de,g))return;let t=YS(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.slot)??0)+z.bandwidth()/2,a=fe===ci.Inside||fe===ci.Auto&&n>30;if(!uS({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=Or(t)):(o=r+4,s=`start`,c=`currentColor`),pe.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=>YS(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),GS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var uw=[`x`,`y`,`size`];function dw(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 fw(e,t={}){let n={},r=new Set(uw.map(e=>t[e]).filter(Boolean)),i=dw(e).filter(e=>!r.has(e));for(let e of uw){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 pw(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function mw(e){return typeof e==`number`&&Number.isFinite(e)}function hw(e,t,n,r){if(!mw(e))return n;if(t===Ur.Log&&e<=0)return r}function gw(e,t,n){let r=pw(e,t.x),i=pw(e,t.y),a=pw(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=hw(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??hw(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(mw(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 _w(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function vw(e,t){let n=t&&{min:_w(t.min),max:_w(t.max)},r=Mi(e.filter(e=>e>0),n,Ur.Log,!1);return r[0]>0&&Number.isFinite(r[1])?Zf().domain(r).nice():Zf().domain([1,10])}function yw(e,t,n){if(e===Ur.Log)return vw(t,n);let r=Mi(t,n,e,!1);return e===Ur.Symlog?tp().domain(r).nice():Bf().domain(r).nice()}function bw(e){switch(e){case Ur.Log:return{forward:Math.log10,inverse:e=>10**e};case Ur.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 xw(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 Sw=[1,2,5],Cw=11,ww=`${Cw}px`,Tw=8,Ew=6,Dw=24,Ow=`4 3`,kw=Cw*1.2,Aw=hf(`~s`);function jw(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 Mw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>Sw.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function Nw(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,ww).attr(`fill`,`currentColor`).text(t)}function Pw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=kw)&&n.push(r)}return n.reverse()}function Fw(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&&Nw(a,t,0,i-o*2-Ew),Pw(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),Nw(a,Aw(e),o*2+Ew,i-t*2+Tw)})}function Iw(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`,Dw).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,Ow),Nw(t,`Trend`,30,10)}function Lw({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+Ew+Math.max(...r.map(e=>__(e,Cw)))),i.push(__(e??``,Cw))}return r&&i.push(30+__(`Trend`,Cw)),Math.ceil(Math.max(...i))}function Rw(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&&Fw(r,t,t.trend?-24:0),t.trend&&Iw(r),r}function zw(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 Bw(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 Vw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var Hw=3,Uw=2,Ww=1.3;function Gw(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*Ww/2;return[{key:n,x:r+a+Hw,y:i,anchor:`start`},{key:n,x:r-a-Hw,y:i,anchor:`end`},{key:n,x:r,y:i-a-Hw-o,anchor:`middle`},{key:n,x:r,y:i+a+Hw+o,anchor:`middle`}]}function Kw(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*Ww/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function qw(e,t){return e.left<t.right+Uw&&t.left<e.right+Uw&&e.top<t.bottom&&t.top<e.bottom}function Jw(e,t,n){let r=[],i=[];for(let a of e){let e=__(a.text,n);for(let o of Gw(a,n)){let a=Kw(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>qw(e,a))){r.push(o),i.push(a);break}}}return r}function Yw(e){return(e?r_(e):null)??String}function Xw(e,t,n){let r=[e.name,`${t.x}: ${Yw(n.x)(e.x)}`,`${t.y}: ${Yw(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(`
355
+ `)}var Zw=[`overall`,`per-group`];function Qw(e){return Zw.includes(e??``)}var $w=3;function eT(e,t){let n=e.length;if(n<$w)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 tT(e,t,n,r){let i=bw(t.x),a=bw(t.y),o=e.map(e=>i.forward(e.x)),s=eT(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 nT(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):rT(e);for(let[e,o]of a){let a=tT(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function rT(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 iT=ae[0],aT=4.5,oT=.7,sT=16,cT=350,lT=8,uT=`6 4`,dT=1.5,fT=.6,pT=11,mT=3;function hT(e,t){return Math.min(e,t)/12}function gT(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function _T(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function vT(e,t,n){let r=ua(e,e=>e.size);return r===void 0?()=>aT:sp().domain([0,r]).range([0,hT(t,n)])}function yT(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===Xr.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 ea(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function bT(e,t,n={},r=!1){B_(r),fC(e);let i=Av.for(e),a=r?vx(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=U_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))u.set(e,n);e.replaceChildren()}let d=fw(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=gw(t,d,f),m=yw(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=yw(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=e_(e,n.frame),_=F_(g).width,v=j_(h,n.verticalAxis?.numberFormat),y=N_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=jw(p,n.colors??ae),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<cT&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=ua(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:Mw(E),trend:Qw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>sp().domain([0,E??1]).range([0,hT(e,t)]),A=_>0?_:600,j=F_(g).height||400,M=y.top==null?0:15,N=y.right??x_.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??x_.left,t=Math.max(0,A-e-P.right);F=S?zS(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??x_.top)-P.bottom,r=O?Lw({...D,radius:k(t,n)}):0;P.right=L+(O?sT+r:N)}let{chartArea:R,width:z,height:B,margin:V}=L_(g,P),H=b_(a?.margin,V),ee=vT(p,z,B),U=e=>ee(e.size??0);m.range(xw(m,p.map(e=>({value:e.x,r:U(e)+1})),z));let[te,ne]=xw(h,p.map(e=>({value:e.y,r:U(e)+1})),B,lT);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 re=R.ownerSVGElement,ie=Sx(re,e,`plot`,{x:0,y:0,width:z,height:B}),W=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node(),oe=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node();W.append(...o);let se=ea(p,e=>-U(e)),ce=new Map(se.map((e,t)=>[e.name,t]));oe.append(...ea(s,e=>ce.get(e.getAttribute(`data-key`))??1/0));let le=Bw(p,gx(n.colorizes)),ue=new Map(x.map(e=>[e,le.groups.get(e)??b.get(e)])),de=zw(p,(n.highlights??[]).map(e=>e.target)),fe=e=>Vw(e,le.points,ue,iT),pe=Ar(e),me=Mx(e);Wx(me,{role:`series-line`,parent:W,selector:`.bc-trend-line`,data:Qw(n.trend)?nT(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?fT:1,"stroke-width":dT,"stroke-dasharray":uT})});let G=e=>({cx:m(e.x),cy:h(e.y),r:U(e),fill:fe(e),"fill-opacity":nS(de,e.name,oT),stroke:pe,"stroke-width":1,opacity:1});Wx(me,{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:G,enterFrom:e=>({...G(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(oe).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let K=Jw(yT(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},pT),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(Wx(me,{role:`value-label`,parent:he,selector:`.bc-point-label`,data:K,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`,pT).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}));mx(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:pe,transition:r,priorAnnotations:u})}let _e={left:V.left,top:V.top,width:z,height:B};Qx(me,{svg:re,clipId:ie,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:_e,active:r}),S&&GS(R,x,[...ue.values()],_T(w,F.height+M,I,B,V.bottom),w,T,z,B,gT(w,F.width,z),[],{left:V.left,right:V.right});let ve=Rw(R,{...D,radius:ee}),ye=Lw({...D,radius:ee});if(ve?.setAttribute(`transform`,`translate(${Math.max(z+L+sT,z+V.right-ye)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};hC(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:fe(e),r:U(e)+mT})),nearest:`xy`,format:e=>e.label,container:e})}yx(e,{chartType:`scatter`,margin:V,plotRect:_e}),l&&(H_(W),H_(oe),W_(e,l))}var xT={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 ST(e,t){return e.find(e=>xT[t].test(e))}function CT(e,t,n){if(n!==`none`)return n?e.find(e=>e===n):ST(e,t)}function wT(e,t={}){let n=dw(e);if(t.dotStyle!==ii.Range)return{mode:n.length>1?`dumbbell`:`single`,values:n,ignored:[]};let r=CT(n,`low`,t.low),i=CT(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 TT(e,t,n){let r=(n?r_(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(`
356
+ `)}function ET(e){return typeof e==`number`&&Number.isFinite(e)}function DT(e,t,n){if(!e.values.every(ET))return`missing-value`;if(t.mode===`range`&&!(ET(e.low)&&ET(e.high)))return`missing-range`;let r=[...e.values,e.low,e.high].filter(ET);return n===Ur.Log&&r.some(e=>e<=0)?`non-positive-log`:void 0}function OT(e,t,n){let r=t.values.map(t=>pw(e,t)??[]),i=pw(e,t.low)??[],a=pw(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=DT(l,t,n);u?s.push({name:e,reason:u}):o.push(l)}),{rows:o,dropped:s}}function kT(e){let t=e.values[0];return t?(e.values[e.values.length-1]-t)/Math.abs(t):0}function AT(e,{sortMode:t,sortReverse:n},r){if(t===ai.None)return[...e];let i=e=>e.values[e.values.length-1];return Tx(e,r===`dumbbell`?t===ai.Gap?e=>i(e)-e.values[0]:t===ai.Change?kT:i:i,n?ni.Ascending:ni.Descending)}function jT(e,t,n,r){let i=new Map(e.map(e=>[e.name,e]));return{scaleX:n,scaleY:t,orientation:Qr.Horizontal,data:[],markCenter:e=>{let n=ua(i.get(e)?.values??[],e=>t(e));return n===void 0?void 0:{x:n,y:r(e)}}}}var MT=ae[0],NT=.25,PT=.4,FT=2,IT=350,LT=5,RT=6,zT=11;function BT(e,t,n={},r=!1){fC(e),B_(r);let i=Av.for(e),a=r?vx(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=U_(e));for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of xb(t))c.set(e,n);e.replaceChildren()}let l=wT(t,{dotStyle:n.dotStyle,low:n.low,high:n.high}),u=n.horizontalAxis?.scaleType,d=AT(OT(t,l,u).rows,n,l.mode),f=l.values,p=l.mode===`dumbbell`,m=qS(n.colors??ae,f.length),h=e=>p?m[e]:n.colors?.[0]??MT,{body:g}=e_(e,n.frame),_=F_(g).width,v=n.legend!==!1&&p,y=n.legendPosition??`top`,b=_>0&&_<IT&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=bS(_,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=N_(_,C?Gr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,M_(t.labels),n.horizontalAxis?.showAxis),T=Math.max(0,_-(w.left??50)-(w.right??20)),E=v?zS(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}=L_(g,O),N=b_(a?.margin,M),P=wf().domain(d.map(e=>e.name)).range([0,j]).paddingInner(.3).paddingOuter(.05),F=C?vS(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=>i_(e,n.horizontalAxis?.numberFormat),z=e=>WT(e,f,n.dotLabels,R),B=n.valueLabels?VT(d,l.mode,z,R,A):0,V=yw(u,L,n.horizontalAxis?.range).range([p?B:0,A-B]);i.attach(k,N),i.update({vertical:{scale:P,height:j,options:{...n.verticalAxis,labelPosition:C?Gr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...S?{showAxis:!1}:{}}},horizontal:{scale:V,height:j,options:{...n.horizontalAxis,width:A}},order:`horizontal-first`});let H=k.ownerSVGElement,ee=Sx(H,e,`plot`,{x:0,y:0,width:A,height:j}),U=Q(k).append(`g`).attr(`clip-path`,`url(#${ee})`),te=()=>U.append(`g`).node(),ne=te(),re=te(),ie=te();ne.append(...o.ranges),re.append(...o.lines),ie.append(...o.dots);let W=Ar(e),oe=Mx(e),se=tS(n.highlights,d.map(e=>e.name)),ce=e=>nS(se,e),le=gx(n.colorizes),ue=d.filter(e=>e.low!==void 0),de=e=>({x:Math.min(V(e.low),V(e.high)),y:I(e.name)-5,width:Math.abs(V(e.high)-V(e.low)),height:10,rx:5,fill:le.get(e.name)??h(0),"fill-opacity":NT,opacity:ce(e.name)});Wx(oe,{role:`mark-per-category`,parent:ne,selector:`.bc-dot-range`,data:ue,key:e=>e.name,insert:e=>e.append(`rect`).attr(`class`,`bc-dot-range`).attr(`data-key`,e=>e.name),attrs:de,enterFrom:e=>({...de(e),opacity:0}),exitTo:()=>({opacity:0})});let fe=p?d:[],pe=e=>{let[t,r]=Ui(e.values).map(e=>V(e)),i=I(e.name),a=Math.sign(e.values.at(-1)-e.values[0]),o=n.arrows??ri.None,s=HT(a>0?r:t,a,o===ri.Forward||o===ri.Both),c=HT(a>0?t:r,-a,o===ri.Backward||o===ri.Both);return{d:`M${t},${i}L${r},${i}${UT(s,i)}${UT(c,i)}`,fill:`none`,stroke:`currentColor`,"stroke-opacity":PT,"stroke-width":FT,opacity:ce(e.name)}};Wx(oe,{role:`series-line`,parent:re,selector:`.bc-dot-line`,data:fe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-dot-line`).attr(`data-key`,e=>e.name),attrs:pe,enterFrom:e=>({...pe(e),opacity:0}),exitTo:()=>({opacity:0})});let me=d.flatMap(e=>f.map((t,n)=>({row:e.name,column:t,value:e.values[n],color:h(n)}))),G=e=>({"data-series":e.column,cx:V(e.value),cy:I(e.row),r:5,fill:le.get(e.row)??e.color,stroke:W,"stroke-width":1,opacity:ce(e.row)});Wx(oe,{role:`mark-per-cell`,parent:ie,selector:`.bc-dot`,data:me,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:G,enterFrom:e=>({...G(e),opacity:0}),exitTo:()=>({opacity:0})});let K=Q(k).append(`g`).node();if(K.append(...o.labels),KT(oe,K,n.valueLabels?GT(d,l.mode,z,V,R):[],I,ce),n.annotations?.length&&mx(k,n.annotations,{...jT(d,V,P,I),width:A,height:j,backgroundColor:W,transition:r,priorAnnotations:c}),n.tooltips){let t=new Map(d.map(e=>[e.name,TT(e,l,n.horizontalAxis?.numberFormat)]));hC(k,{width:A,height:j,points:me.map(e=>({cx:V(e.value),cy:I(e.row),label:t.get(e.row),value:e.value,color:le.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 he={left:M.left,top:M.top,width:A,height:j};if(Qx(oe,{svg:H,clipId:ee,group:k,from:a?.chartType===`dot-plot`?a.plotRect:void 0,to:he,active:r}),v){let e=b===`left`?-(E.width+10):b===`right`?A+10:0;GS(k,f,m,b===`top`?-(E.height+10):b===`bottom`?j+25:0,b,x,A,j,e,[],{left:M.left,right:M.right})}yx(e,{chartType:`dot-plot`,margin:M,plotRect:he}),s&&(H_(U.node()),H_(K),W_(e,s))}function VT(e,t,n,r,i){let a=v_(t===`range`?e.map(e=>r(e.values[0])):e.flatMap(n).map(e=>e.text),zT)+RT+(t===`range`?0:5);return Math.min(a,i/4)}function HT(e,t,n){let r=n?t:0,i=e-r*5;return{tipX:i,armX:i-r*LT,armOffset:r===0?0:LT}}function UT({tipX:e,armX:t,armOffset:n},r){return`M${t},${r-n}L${e},${r}L${t},${r+n}`}function WT(e,t,n,r){let i=e.values.map((e,t)=>t).sort((t,n)=>e.values[t]-e.values[n]),a=i[0],o=i.at(-1),s=n=>({key:`${e.name}|${t[n]}`,i:n,left:n===a&&a!==o,text:r(e.values[n]),series:t[n]}),c=t=>[{key:`${e.name}|${n}`,i:o,left:!1,text:t}],l=Number((e.values[e.values.length-1]-e.values[0]).toPrecision(12));switch(n){case`start`:return[s(0)];case`end`:return[s(e.values.length-1)];case`difference`:return c(`${l>0?`+`:``}${r(l)}`);case`change`:return e.values[0]===0?[]:c(i_(kT(e),`+.0%`));default:return(a===o?[a]:[a,o]).map(s)}}function GT(e,t,n,r,i){return e.flatMap(e=>t===`range`?[{key:`${e.name}|range`,row:e.name,text:i(e.values[0]),x:Math.max(r(e.low),r(e.high))+RT,anchor:`start`}]:n(e).map(({key:t,i:n,left:i,text:a,series:o})=>({key:t,row:e.name,series:o,text:a,x:r(e.values[n])+(i?-1:1)*11,anchor:i?`end`:`start`})))}function KT(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)});Wx(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`,`${zT}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 qT=new Map;function JT(e,t,n){qT.set(e,{renderer:t,options:n})}function YT(e){return qT.get(e)?.renderer}function XT(e){return qT.get(e)?.options??[]}var ZT=[{value:Wr.Solid,text:`Solid`},{value:Wr.Dashed,text:`Dashed`},{value:Wr.Dotted,text:`Dotted`},{value:Wr.None,text:`None`}],QT={key:`colors`,type:Z.Colors,label:`Colors`},$T={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...le().map(e=>({value:e.name,text:e.label}))]},eE={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},tE={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},nE={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},rE={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:oi.Top,choices:[{value:oi.Top,text:`Top`},{value:oi.Bottom,text:`Bottom`},{value:oi.Left,text:`Left`},{value:oi.Right,text:`Right`}]},iE={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:si.Start,choices:[{value:si.Start,text:`Start`},{value:si.Middle,text:`Middle`},{value:si.End,text:`End`}]},aE={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:fi.Off,choices:[{value:fi.Off,text:`Off`},{value:fi.Auto,text:`Auto`},{value:fi.Outside,text:`Outside`},{value:fi.Inside,text:`Inside`}]},oE={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:si.Middle,choices:[{value:si.Start,text:`Start`},{value:si.Middle,text:`Middle`},{value:si.End,text:`End`}]},sE={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},cE={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:ci.Auto,choices:[{value:ci.Auto,text:`Auto`},{value:ci.Outside,text:`Outside`},{value:ci.Inside,text:`Inside`}]},lE={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},uE={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},dE={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:li.Both,choices:[{value:li.Both,text:`Both`},{value:li.Vertical,text:`Vertical`},{value:li.Horizontal,text:`Horizontal`}]},fE={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:ui.Dashed,choices:[{value:ui.Solid,text:`Solid`},{value:ui.Dashed,text:`Dashed`},{value:ui.Dotted,text:`Dotted`}]},pE={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},mE={key:`valueLabelPoints`,type:Z.Select,label:`Show on`,default:ei.All,choices:[{value:ei.All,text:`All`},{value:ei.FirstLast,text:`First & last`},{value:ei.Last,text:`Last`},{value:`everyN`,text:`Every N`}]},hE={key:`valueLabelEvery`,type:Z.Text,label:`Every`,default:`2`,placeholder:`2`},gE={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},_E={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:$r.Circle,choices:[{value:$r.Circle,text:`Circle`},{value:$r.Square,text:`Square`},{value:$r.Diamond,text:`Diamond`},{value:$r.Triangle,text:`Triangle Up`},{value:$r.TriangleDown,text:`Triangle Down`},{value:$r.Cross,text:`Cross`},{value:$r.Star,text:`Star`}]},vE={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:ei.FirstLast,choices:[{value:ei.FirstLast,text:`First & Last`},{value:ei.First,text:`First`},{value:ei.Last,text:`Last`},{value:ei.All,text:`All`}]},yE={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:ti.Filled,choices:[{value:ti.Filled,text:`Filled`},{value:ti.Hollow,text:`Hollow`}]},bE={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},xE={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},SE={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:ai.None,choices:[{value:ai.None,text:`None`},{value:ai.Total,text:`By total`},{value:ai.WithinGroups,text:`Within groups`}]},CE={...SE,choices:[...SE.choices,{value:ai.Series,text:`By series`}]},wE={key:`sortSeries`,type:Z.Select,label:`Sort by series`,default:``},TE={key:`sortReverse`,type:Z.Boolean,label:`Reverse order`,default:!1},EE=[CE,wE,TE],DE={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},OE={key:`connectGaps`,type:Z.Boolean,label:`Connect gaps`,default:!1},kE={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},AE={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},jE={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},ME={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},NE={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},PE={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},FE={key:`negativeColor`,type:Z.Text,label:`Negative color`,default:``},IE={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},LE={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},RE={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:di.Normal,choices:[{value:di.Normal,text:`Normal`},{value:di.Percent,text:`Percentage (100%)`}]},zE={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},BE={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},VE={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},HE={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},UE={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},WE={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},GE={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},KE={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},qE={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},JE={key:`areaFill`,type:Z.Boolean,label:`Area fill`,default:!1},YE={key:`areaFillBaseline`,type:Z.Select,label:`Fill to`,default:`bottom`,choices:[{value:`bottom`,text:`Plot bottom`},{value:`zero`,text:`Zero`}]},XE={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},ZE={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},QE={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},$E={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:ni.None,choices:[{value:ni.None,text:`Keep order`},{value:ni.Ascending,text:`Smallest first`},{value:ni.Descending,text:`Largest first`}]},eD={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:pi.Linear,choices:[{value:pi.Linear,text:`Linear`},{value:pi.MonotoneX,text:`Monotone`},{value:pi.Step,text:`Step`},{value:pi.StepBefore,text:`Step (before)`},{value:pi.StepAfter,text:`Step (after)`},{value:pi.Basis,text:`Basis`},{value:pi.Cardinal,text:`Cardinal`},{value:pi.CatmullRom,text:`Catmull-Rom`}]},tD={[Ur.Linear]:`Linear`,[Ur.Log]:`Logarithmic`,[Ur.Symlog]:`Symmetric log`};function nD(e){return e.map(e=>({value:e,text:tD[e]}))}var rD=[{value:Gr.Auto,text:`Auto`},{value:Gr.Inside,text:`Inside`},{value:Gr.Outside,text:`Outside`},{value:Gr.Off,text:`Off`}],iD=[{value:Kr.Auto,text:`Auto`},{value:Kr.Horizontal,text:`Horizontal`},{value:Kr.Vertical,text:`Vertical`}];function aD(e){let t=nD(e.scaleTypeChoices??[Ur.Linear,Ur.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:Hr.Left,choices:[{value:Hr.Left,text:`Left`},{value:Hr.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`?Gr.Off:Gr.Auto,choices:rD},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:ZT},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:Ur.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`},{key:`verticalTickValues`,type:Z.Text,label:`Vertical tick values`,placeholder:`0, 50, 100`}]:[],{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`?Gr.Off:Gr.Auto,choices:rD},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Kr.Horizontal,choices:iD},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:ZT},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:Ur.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`},{key:`horizontalTickValues`,type:Z.Text,label:`Horizontal tick values`,placeholder:`0, 50, 100`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var oD=aD({verticalGrid:Wr.None,horizontalGrid:Wr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),sD=aD({verticalGrid:Wr.None,horizontalGrid:Wr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),cD=aD({verticalGrid:Wr.Dashed,horizontalGrid:Wr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),lD=aD({verticalGrid:Wr.Dashed,horizontalGrid:Wr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),uD={...eD,default:pi.MonotoneX},dD={...dE,default:li.Vertical},fD={...uE,default:!0},pD={...gE,default:!0},mD=[{...CE,default:ai.Total},wE,TE],hD={...sE,default:!0},gD={...sE,default:!0},_D={...VE,default:!0},vD={...GE,default:`5`},yD={...HE,default:!0},bD=[{key:`centerLabel`,type:Z.Select,label:`Center label`,default:`total`,choices:[{value:`total`,text:`Total`},{value:`slice`,text:`Slice share`},{value:`custom`,text:`Custom text`}]},{key:`centerSlice`,type:Z.Text,label:`Center slice`,default:``},{key:`centerText`,type:Z.Text,label:`Center text`,default:``},{key:`totalLabel`,type:Z.Text,label:`Total label`,default:`Total`,placeholder:`Total`}],xD={...aE,default:fi.Auto},SD={...nE,default:!1},CD=[uE,dE,fE,pE],wD=[fD,dD,fE,pE],TD=[gD,cE,lE,...CD],ED=[hD,cE,lE,...CD],DD=[gE,_E,vE,yE,bE,xE],OD=[pD,_E,vE,yE,bE,xE],kD=[sE,lE,...wD,...DD],AD=[sE,lE,...wD,...OD],jD={key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Number format`},MD=[_D,jD,UE,WE,vD,KE],ND=[VE,jD,yD,...bD,UE,WE,GE,KE];JT(Vr.BarVertical,wS,[QT,$T,eE,tE,LE,FE,jE,NE,ME,PE,IE,kE,AE,BE,...oD,...TD]),JT(Vr.BarHorizontal,kS,[QT,$T,eE,tE,LE,jE,NE,ME,PE,IE,kE,AE,BE,...sD,...ED]),JT(Vr.BarMulti,sC,[QT,$T,eE,tE,ME,...mD,SD,iE,rE,xD,oE,...oD,...TD]),JT(Vr.Line,xC,[QT,$T,eE,tE,uD,DE,OE,JE,YE,...cD,...kD,mE,hE]),JT(Vr.LineMulti,PC,[QT,$T,eE,tE,uD,DE,OE,SE,SD,iE,rE,xD,...cD,...AD,mE,hE]),JT(Vr.Donut,BC,[QT,$T,eE,tE,SD,iE,rE,xD,lE,...ND]),JT(Vr.Pie,HC,[QT,$T,eE,tE,SD,iE,rE,xD,lE,...MD]),JT(Vr.Area,WC,[QT,$T,eE,tE,{...qE,default:`0.25`,placeholder:`0.25`},YE,uD,DE,...lD,...kD]);var PD=aD({verticalGrid:Wr.Dashed,horizontalGrid:Wr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});JT(Vr.AreaStacked,JC,[QT,$T,eE,tE,qE,uD,DE,$E,XE,ZE,QE,nE,iE,rE,aE,...PD,lE,...wD]),JT(Vr.ColumnStacked,ZC,[QT,$T,eE,tE,ME,RE,...EE,nE,iE,rE,aE,oE,...oD,...TD,HE]),JT(Vr.BarStacked,$C,[QT,$T,eE,tE,ME,RE,...EE,nE,iE,rE,aE,oE,BE,...sD,...ED]),JT(Vr.BarSplit,cw,[QT,$T,eE,tE,ME,zE,...EE,nE,iE,rE,BE,...sD,hD,cE,lE,...CD]),JT(Vr.BarGrouped,lw,[QT,$T,eE,tE,ME,...mD,nE,iE,rE,jE,NE,BE,...sD,hD,cE,lE,...CD]);var FD=[{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:``}],ID={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},LD={...UE,default:!1,label:`Label all points`},RD=aD({verticalGrid:Wr.Dashed,horizontalGrid:Wr.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[Ur.Linear,Ur.Log,Ur.Symlog]});JT(Vr.Scatter,bT,[QT,$T,eE,tE,...FD,ID,LD,nE,rE,iE,{...lE,default:!0},...RD]);var zD=[{key:`low`,type:Z.Text,label:`Low column`,default:``},{key:`high`,type:Z.Text,label:`High column`,default:``}],BD={key:`dotStyle`,type:Z.Select,label:`Style`,default:ii.Dumbbell,choices:[{value:ii.Dumbbell,text:`Dumbbell`},{value:ii.Range,text:`Range`}]},VD={key:`arrows`,type:Z.Select,label:`Arrows`,default:ri.None,choices:[{value:ri.None,text:`None`},{value:ri.Forward,text:`Forward`},{value:ri.Backward,text:`Backward`},{value:ri.Both,text:`Both`}]},HD={...SE,default:ai.Value,choices:[{value:ai.None,text:`None`},{value:ai.Value,text:`By value`},{value:ai.Gap,text:`By gap`},{value:ai.Change,text:`By % change`}]},UD={key:`dotLabels`,type:Z.Select,label:`Labels`,default:`both`,choices:[{value:`both`,text:`Both`},{value:`start`,text:`Start`},{value:`end`,text:`End`},{value:`difference`,text:`Difference`},{value:`change`,text:`% change`}]},WD=aD({verticalGrid:Wr.None,horizontalGrid:Wr.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`});JT(Vr.DotPlot,BT,[QT,$T,eE,tE,BD,...zD,VD,HD,TE,nE,rE,iE,BE,...WD,sE,UD,{...lE,default:!0}]),JT(Vr.VerticalBar,wS,[QT,$T,eE,tE,LE,FE,jE,NE,ME,PE,IE,kE,AE,BE,...oD,...TD]),JT(Vr.HorizontalBar,kS,[QT,$T,eE,tE,LE,jE,NE,ME,PE,IE,kE,AE,BE,...sD,...ED]);function GD(e){let t=(e??``).trim();return t&&Ti(t)!==void 0?t:void 0}function KD(e){let t=(e??``).split(/[\s,]+/).filter(Boolean).map(Number).filter(Number.isFinite);return t.length?t:void 0}function qD(e){let t=KD(e.verticalTickValues);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||t||e.verticalRangeMax))return{};let n={};e.showVerticalTicks!==void 0&&(n.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(n.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(n.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(n.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(n.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(n.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(n.labelPosition=e.verticalLabelPosition);let r=GD(e.verticalRangeMin),i=GD(e.verticalRangeMax);return(r!==void 0||i!==void 0)&&(n.range={},r!==void 0&&(n.range.min=r),i!==void 0&&(n.range.max=i)),t&&(n.ticks=t),{verticalAxis:n}}function JD(e){let t=KD(e.horizontalTickValues);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||t||e.horizontalRangeMax))return{};let n={};e.showHorizontalTicks!==void 0&&(n.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(n.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(n.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(n.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(n.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(n.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(n.labelRotation=e.horizontalLabelRotation);let r=GD(e.horizontalRangeMin),i=GD(e.horizontalRangeMax);return(r!==void 0||i!==void 0)&&(n.range={},r!==void 0&&(n.range.min=r),i!==void 0&&(n.range.max=i)),t&&(n.ticks=t),{horizontalAxis:n}}var YD=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.verticalTickValues.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.horizontalTickValues.sliceMax.barGap.valueLabelEvery.connectionsOpacity.areaFillOpacity`.split(`.`));function XD(e,t){if(!t)return{};let n={};for(let{key:r}of XT(t)){let t=e[r];t!==void 0&&!YD.has(r)&&(n[r]=t)}return n}function ZD(e,t){let n={},r=ce(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Ir(n.colors,t)),e.autoContrast&&t&&e.negativeColor&&(n.negativeColor=Ir([e.negativeColor],t)[0]),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function QD(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 $D(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??$r.Circle,showOn:e.lineSymbolShowOn??ei.FirstLast,style:e.lineSymbolStyle??ti.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function eO(e,t,n){let r={...XD(e,n),...ZD(e,t),...QD(e),...qD(e),...JD(e),...$D(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.centerLabel&&(r.centerLabel=e.centerLabel),e.centerSlice!==void 0&&(r.centerSlice=e.centerSlice),e.centerText!==void 0&&(r.centerText=e.centerText),e.totalLabel!==void 0&&(r.totalLabel=e.totalLabel),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.valueLabelEvery??``,10);i>0&&(r.valueLabelEvery=i);let a=parseInt(e.sliceMax??``,10);!isNaN(a)&&a>0&&(r.sliceMax=a),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 o=parseFloat(e.barGap??``);isNaN(o)||(r.barGap=Math.max(0,Math.min(100,o))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let s=parseFloat(e.connectionsOpacity??``);isNaN(s)||(r.connectionsOpacity=Math.max(0,Math.min(1,s))),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 c=parseFloat(e.areaFillOpacity??``);return isNaN(c)||(r.areaFillOpacity=c),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.connectGaps!==void 0&&(r.connectGaps=e.connectGaps),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 tO=e=>e===!0||String(e).toLowerCase()===`true`;function nO(e){return new Map(e.map(e=>[e.key,e.value]))}function rO(e,t){let n=nO(t),r=XT(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]=H(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]=tO(t):a[e.key]=String(t))}return a}function iO(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function aO(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=>z(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!iO(String(e))?String(e):z(String(e)));return`${z(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${z(t)}`:typeof e.value==`string`&&iO(t)?`${z(e.key)} = ${z(t)}`:`${z(e.key)} = ${t}`}).join(`
357
+ `)}function oO(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function sO(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function cO(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function lO(e){return e.map(e=>({target:e.target,color:oO(e.properties,`color`)??`#e15759`,label:oO(e.properties,`label`)}))}function uO(e){return e.map(e=>({target:e.target}))}function dO(e){return e.map(e=>{let t=nO(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 fO(e){let t=e.get(`repeat`);if(tO(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 pO(e){return e.map(e=>{let t=nO(e.properties),n=e.kind??Xr.Point;if(n===Xr.Range){let e={kind:Xr.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=fO(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===Xr.Free){let n={kind:Xr.Free,text:String(t.get(`text`)??``),x:sO(e.properties,`x`)??0,y:sO(e.properties,`y`)??0};n.repeat=fO(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=cO(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=tO(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Xr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=fO(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=cO(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=tO(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=tO(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=tO(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=tO(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 mO(e){return e.map(e=>{let t=nO(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`:tO(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=tO(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=tO(t.get(`hidden`))),t.has(`connectGaps`)&&(n.connectGaps=tO(t.get(`connectGaps`))),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 hO(e,t,n){if(!n&&t!==hi.Equals&&t!==hi.NotEquals)return!0;switch(t){case hi.Equals:return e===n;case hi.NotEquals:return e!==n;case hi.Contains:return e.toLowerCase().includes(n.toLowerCase());case hi.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case hi.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function gO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>hO(e[n]??``,t.condition??hi.Equals,t.value??``));return{...e,rows:r}}function _O(e){return Number(P(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function vO(e,t,n){return n===`number`?_O(e)-_O(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function yO(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var bO={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 xO(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`&&!bO[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 SO(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>_O(e[n]??``));return String(bO[e](r))}function CO(e,t){let n=yO({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=xO(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=>SO(e.fn,t,e.colIndex))])}}function wO(e,t){let n=yO(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 TO=[`string`,`number`,`date`],EO=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:gi.Type,accepts:TO,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:gi.Type,accepts:TO,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:gi.Type,accepts:TO,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:gi.Type,accepts:TO,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:gi.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:gi.String,accepts:TO,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:gi.String,accepts:TO,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:gi.String,accepts:TO,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:gi.String,accepts:TO,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:gi.String,accepts:TO,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:gi.String,accepts:TO,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:gi.String,accepts:TO,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:gi.String,accepts:TO,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:gi.String,accepts:TO,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:gi.String,accepts:TO,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:gi.String,accepts:TO,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:gi.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:gi.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:gi.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:gi.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:gi.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:gi.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:gi.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:gi.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:gi.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:gi.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:gi.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:gi.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],DO=new Map(EO.map(e=>[e.id,e]));function OO(e,t){let n=DO.get(e);return n?n.accepts.includes(t):!1}function kO(e){return DO.get(e)?.outputType??`string`}function AO(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function jO(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function MO(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 jO(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 NO(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 PO(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return AO(e,e=>Math.round(e*t)/t)}case`floor`:return AO(e,Math.floor);case`ceil`:return AO(e,Math.ceil);case`abs`:return AO(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return AO(e,e=>Math.min(Math.max(e,t),r))}case`log`:return AO(e,e=>e>0?Math.log(e):NaN);case`exp`:return AO(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return AO(e,e=>Math.floor(e/t)*t)}default:return e}}function FO(e,t,n){switch(t){case`extract-year`:return jO(e,e=>String(e.getFullYear()));case`extract-month`:return jO(e,e=>String(e.getMonth()+1));case`extract-day`:return jO(e,e=>String(e.getDate()));case`extract-weekday`:return jO(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return jO(e,e=>String(e.getHours()));case`shift-date`:return jO(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 jO(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:jO(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function IO(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?MO(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?PO(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?FO(e,t,n):NO(e,t,n)}function LO(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 RO(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 zO(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 BO(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(!OO(r,i))return LO(e,n);if(r===`split`)return RO(e,n,t);if(r===`normalize`||r===`standardize`)return zO(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=IO(e[n],r,t);let o=[...e.columnTypes];return o[n]=kO(r),{columns:[...e.columns],rows:a,columnTypes:o}}function VO(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 HO(e,t){let n=yO(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===ni.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>_O(e[t]??``)),o=r.map(e=>_O(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=vO(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function UO(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 WO=[/^\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}$/],GO=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,KO=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function qO(e){if(!e)return!1;for(let t of WO)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 JO(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=P(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function YO(e){if(!e)return!1;let t=P(JO(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function XO(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(qO)?`date`:r.every(YO)?`number`:`string`})}function ZO(e){let t=e.split(`
358
+ `).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=H(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(KO),i=n??t[e].match(GO);i&&r.push({cells:H(i[2]).map(V),label:B(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(V):V(e[0]).split(`,`).map(e=>e.trim());return QO([`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(GO);t&&i.push([B(t[1]),V(t[2])])}return QO(r,i)}function QO(e,t){return{columns:e,rows:t,columnTypes:XO(e,t)}}function $O(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:z(e)}function ek(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${z(t)} = ${$O(n)}`}).join(`
359
+ `):[`series = ${e.slice(1).map(z).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>$O(e??``)).join(`,`);return`${z(t)} = ${n}`})].join(`
360
+ `)}function tk(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:XO(n,a)}}var nk=new Set(Object.values(mi));function rk(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case mi.Sort:i=HO(i,t.config);break;case mi.Filter:i=gO(i,t.config);break;case mi.HideColumns:i=wO(i,t.config);break;case mi.Transpose:i=UO(i);break;case mi.Parse:i=BO(i,t.config);break;case mi.Rename:i=VO(i,t.config);break;case mi.GroupBy:i=CO(i,t.config)}return i}function ik(e){return e.filter(e=>nk.has(e.transformType)).map(e=>{let t={};for(let[n,r]of nO(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function ak(e,t){let n=ik(t);if(n.length===0)return e;let r=ZO(e);if(r.columns.length===0)return e;let i=rk(n,r.columns,r.rows,r.columnTypes);return ek(i.columns,i.rows)}function ok(e,t){let n=ik(t);if(n.length===0||e.labels.length===0)return e;let r=tk(e),i=rk(n,r.columns,r.rows,r.columnTypes);return W(ek(i.columns,i.rows))}var sk=new Set;function ck(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ai.Total:!nk.has(t.transformType)&&!sk.has(t.transformType)&&(sk.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function lk(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`),altText:t(`altText`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:tO(n)||void 0,getTheData:tO(e.get(`getTheData`))||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function uk(e){let t=nO(e.properties),n=W(ak(e.data?aO(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===ni.Ascending||i===ni.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return Object.values(ai).includes(s)&&(c=s),c=ck(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:lk(t),colorizes:lO(e.colorizes),highlights:uO(e.highlights),areaFills:dO(e.areaFills),annotations:pO(e.annotations),seriesOverrides:mO(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var dk=Object.create(null);function fk(e){if(!dk[e]){let t={};for(let n of XT(e))n.default!==void 0&&(t[n.key]=n.default);dk[e]=t}return{...dk[e]}}function pk(e,t){let n=fk(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var mk=[`verticalLabelPosition`,`horizontalLabelPosition`];function hk(e,t,n){let r=fk(t),i={...e};for(let e of mk)n[e]===void 0&&r[e]!==void 0&&r[e]!==Gr.Off&&(i[e]=r[e]);return i}var gk=new Set;function _k(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ai.Total:!nk.has(t.transformType)&&!gk.has(t.transformType)&&(gk.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function vk(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function yk(e,t,n){let r=vk();for(let i=0;i<=t;i++){let a=e[i],o=nO(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=rO(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 bk(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function xk(e,t){let n=e.options??(e.properties?pk(e.chartType,rO(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=yk(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?W(aO(i.data)):ok(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?pk(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?hk(s,a,{...rO(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?lO(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:uO(i.highlights),d=i.areaFills.length>0?dO(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++)pO(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})=>bk(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?mO(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=Object.values(ai).includes(h)?h:void 0,_=_k(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`altText`,`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 Sk=new WeakMap;function Ck(e){let t=Sk.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function wk(e,t){let n=Sk.get(e);n||(n=new Set,Sk.set(e,n)),n.add(t)}function Tk(e,t,n){if(Ck(e),n.ignoreLayout||!t)return{constrained:!1};let r=nO(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`,wk(e,`aspectRatio`),wk(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,wk(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,wk(e,`display`),wk(e,`flexDirection`),wk(e,`overflow`)),{constrained:s}}var Ek=new WeakMap;function Dk(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function Ok(e,t,n){if(!n)return null;let r=Ek.get(e);return!r||r===t?null:(Dk(e),U_(e))}function kk(e,t,n){if(Ek.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&H_(t),W_(e,n)}}function Ak(e){Ek.delete(e),Dk(e)}var jk=`http://www.w3.org/2000/svg`;function Mk(e){return e.replace(/\s+/g,` `).trim()}function Nk(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 Pk(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?Mk(t.title):``,a=t?.description?Mk(t.description):``,o=t?.altText?Mk(t.altText):``;return{label:i||r,description:o||[a,Nk(r,n)].filter(Boolean).join(` `)}}function Fk(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(jk,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function Ik(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),Fk(e,`desc`,t.description),Fk(e,`title`,t.label)}function Lk(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function Rk(e,t,n){let r=Lk(e);r&&t.accessibility&&Ik(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 zk(e,t,n={}){let r=!!n.transition||Mx(e).state===`animating`;if(r||(Mx(e).interrupt(),e.replaceChildren(),Ak(e)),t.data.labels.length===0){r&&(Mx(e).interrupt(),e.replaceChildren(),Ak(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=Tk(e,i.properties,n),o=xk(i,n.sceneIndex),s=YT(o.chartType);if(!s)return;kv(e,o.chartType);let c=Ok(e,o.chartType,r);c&&e.replaceChildren();let l=Ar(e),u=eO(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,data:o.data}}let f=Mx(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:V_(),mode:n.transitionMode}),Rk(e,{theme:n.theme??o.theme,accessibility:Pk(o.chartType,d,o.data)},a),kk(e,o.chartType,c)}function Bk(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 Vk(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=g(t)}catch(t){Bk(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{zk(e,uk(r),n)}catch(t){Bk(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function Hk(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 Uk=Hk;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,O):O(),e.createSceneController=Hk,e.createStepController=Uk,e.initBlueprint=O,e.renderBpc=Vk,e})({});