bezel-charts 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Python](https://github.com/ShazMoghaddam/bezel-charts/actions/workflows/python.yml/badge.svg)](https://github.com/ShazMoghaddam/bezel-charts/actions/workflows/python.yml)
10
10
  [![MIT licence](https://img.shields.io/badge/licence-MIT-D99A0E)](LICENSE)
11
11
 
12
- Bezel Charts is a set of free, open-source web components: twelve chart tiles drawn in pure SVG, so they stay sharp on a phone, a 4K screen or a printed report. Build one in the Studio, paste one line of HTML into any site, or save any chart as a static SVG for a README, Notion page or slide, where JavaScript can't run.
12
+ Bezel Charts is a set of free, open-source web components: thirteen chart tiles drawn in pure SVG, so they stay sharp on a phone, a 4K screen or a printed report. Build one in the Studio, paste one line of HTML into any site, or save any chart as a static SVG for a README, Notion page or slide, where JavaScript can't run.
13
13
 
14
14
  ![Bezel Charts: a sparkline, rings, a gauge, a line chart with a launch day note, a donut, a bar chart with a target, a scatter plot with a trend line and a year-long activity heatmap, in light and dark tiles](docs/bezel-charts.png)
15
15
 
@@ -20,7 +20,7 @@ Bezel Charts is a set of free, open-source web components: twelve chart tiles dr
20
20
  - **Made for READMEs.** Every chart exports as a clean static SVG, so a GitHub README can show a real chart.
21
21
  - **Data science friendly.** Scatter plots with a least-squares trend line and Pearson's r, grouped series, goal lines and notes on key points.
22
22
  - **Speaks your language.** Numbers and dates follow any locale, including Persian.
23
- - **Light.** About 19 kB gzipped for all twelve charts, or 7 to 10 kB for a page that loads just one. No dependencies and no build step.
23
+ - **Light.** About 20 kB gzipped for all thirteen charts, or 7 to 10 kB for a page that loads just one. No dependencies and no build step.
24
24
  - **Accessible.** Tab to any chart and step through its values with the arrow keys. Screen readers hear each value and get a hidden table of the data. Dashes, shapes and patterns tell series apart without relying on colour, and animation respects reduced-motion settings.
25
25
  - **Python too.** `pip install bezel-charts` draws the same charts straight from a pandas DataFrame, for notebooks, reports and READMEs.
26
26
 
@@ -49,7 +49,7 @@ A sibling of [Bezel](https://github.com/ShazMoghaddam/bezel), the clock, calenda
49
49
  <bezel-bars heading="Commits this week" values="4,9,6,3,8,5,3" labels="M,T,W,T,F,S,S" stat="total"></bezel-bars>
50
50
  ```
51
51
 
52
- `@1` always loads the latest 1.x release, so you get fixes without changing anything. To pin an exact version, use `@v1.5.0` instead.
52
+ `@1` always loads the latest 1.x release, so you get fixes without changing anything. To pin an exact version, use `@v1.6.0` instead.
53
53
 
54
54
  That's all. Charts fill the width of whatever they sit in and redraw when it changes, so they work in a sidebar, a card grid or a full-width section without extra CSS.
55
55
 
@@ -84,9 +84,9 @@ import { toSVG } from 'bezel-charts/line'; // render and toSVG work for every ch
84
84
  | Page | Gzipped |
85
85
  | --- | --- |
86
86
  | One sparkline, ring, donut, gauge, progress bar or heatmap | 7.2 to 7.4 kB |
87
- | One line, area, histogram, scatter or bar chart | 9.5 to 10.4 kB |
87
+ | One line, area, histogram, box plot, scatter or bar chart | 9.4 to 10.4 kB |
88
88
  | A line and a bar chart | 12.6 kB |
89
- | Every chart: the full bundle | 19.0 kB |
89
+ | Every chart: the full bundle | 20.4 kB |
90
90
 
91
91
  Once a page needs four or five different charts, load the full bundle instead. `<bezel-chart type="…">` works with whichever charts are loaded, and tells you which file to add if its type isn't one of them. The classic `iife.js` script always has every chart, because a classic script can't load the shared file.
92
92
 
@@ -240,6 +240,26 @@ How raw values spread out. Give it the values themselves, such as 500 customers'
240
240
 
241
241
  Each range includes its lower edge but not its upper one, except the last, which includes both, so the largest value always counts. Several series share the same ranges and overlap, so their spreads compare directly. `prefix`, `suffix` and `decimals` format the range edges. If you have already counted, use `<bezel-bars>` instead.
242
242
 
243
+ ### `<bezel-boxplot>`
244
+
245
+ Box plots compare spreads side by side: one box per group of raw values. The box runs from the lower to the upper quartile, so it holds the middle half of the values, with a line at the median. The whiskers reach the furthest values within one and a half box heights, and anything further out is drawn as a dot.
246
+
247
+ ```html
248
+ <bezel-boxplot heading="Salaries by team · £k" values="58,62,64,71,66,95|44,47,52,49,22|50,55,61,57" series="Engineering,Marketing,Product" prefix="£" suffix="k" mark="mean"></bezel-boxplot>
249
+ ```
250
+
251
+ | Attribute | Values | Default |
252
+ | ------------- | -------------------------------------------------------------- | ------- |
253
+ | `values` | raw numbers, one group per series, separated by `\|` | |
254
+ | `series` | a name for each group | |
255
+ | `whiskers` | `range` to reach the lowest and highest values, with no outlier dots | 1.5 × the box |
256
+ | `mark` | `mean` for a diamond at the mean | none |
257
+ | `horizontal` | boolean, lay the boxes on their side | off |
258
+ | `color` | one colour, or one per box | theme |
259
+ | `height` | chart height in px | `200` |
260
+
261
+ Quartiles are calculated the way pandas, NumPy and Excel's `QUARTILE.INC` do, so the numbers match `df.describe()`. The tooltip gives each group's median, middle half, range, outliers and count, and the hidden table lists every figure.
262
+
243
263
  ### `<bezel-scatter>`
244
264
 
245
265
  How two measures move together. Pass matching `x` and `y` lists; separate groups with `|`.
@@ -468,7 +488,7 @@ bc.line(df, x="month", y=["sales", "costs"], heading="Sales", prefix="£")
468
488
  bc.spark(df["signups"], heading="Signups").save("docs/signups.svg")
469
489
  ```
470
490
 
471
- All twelve charts are available, and the Python output matches the JavaScript byte for byte, checked in CI. `chart.alt` gives ready-made alt text for the saved image. See the [Python README](python/README.md).
491
+ All thirteen charts are available, and the Python output matches the JavaScript byte for byte, checked in CI. `chart.alt` gives ready-made alt text for the saved image. See the [Python README](python/README.md).
472
492
 
473
493
  ## Frameworks
474
494
 
@@ -513,7 +533,7 @@ docs/ the README image and social preview, with the pages that render t
513
533
  test/ node:test suites, plus a Playwright browser test
514
534
  ```
515
535
 
516
- Each chart is a pure function that takes its options and a theme and returns an SVG string, which keeps them easy to test and lets the same code run in Node. The full bundle has a 20 kB gzip budget and each chart file its own, checked in CI by `npm run size`. See [CONTRIBUTING.md](CONTRIBUTING.md).
536
+ Each chart is a pure function that takes its options and a theme and returns an SVG string, which keeps them easy to test and lets the same code run in Node. The full bundle has a 22 kB gzip budget and each chart file its own, checked in CI by `npm run size`. See [CONTRIBUTING.md](CONTRIBUTING.md).
517
537
 
518
538
  ## Security
519
539
 
@@ -1,12 +1,18 @@
1
- /*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
2
- var BezelCharts=(()=>{var Ge=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var hr=Object.getOwnPropertyNames;var mr=Object.prototype.hasOwnProperty;var pr=(t,e)=>{for(var r in e)Ge(t,r,{get:e[r],enumerable:!0})},dr=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of hr(e))!mr.call(t,n)&&n!==r&&Ge(t,n,{get:()=>e[n],enumerable:!(l=ur(e,n))||l.enumerable});return t};var gr=t=>dr(Ge({},"__esModule",{value:!0}),t);var Fr={};pr(Fr,{BezelChart:()=>At,render:()=>Lt,themes:()=>Qt,toSVG:()=>Ft,types:()=>Cr,version:()=>Tr});var yt="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",St="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",vr=0;function Vt(t){return"bzc"+t+(++vr).toString(36)+Math.random().toString(36).slice(2,6)}function bt(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]})}function a(t){return Math.round(t*100)/100}function nt(t,e,r){return Math.max(e,Math.min(r,t))}function W(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function T(t){return t!=null&&t!==""}function ct(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):T(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function $(t){return Array.isArray(t)?t.map(String):T(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function Et(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(ct):[ct(t)]:T(t)?String(t).split("|").map(ct).filter(function(e){return e.length}):[]}function Bt(t){return t.reduce(function(e,r){return e+r},0)}function wt(t,e,r){return String(t).length*e*(r?.6:.56)}function Kt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function j(t){return t===!0||t===""||t==="true"||t==="1"}function m(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),n;T(e.decimals)?n=nt(parseInt(e.decimals,10)||0,0,6):n=t%1===0?0:l<10?2:l<100?1:0;var i={maximumFractionDigits:n,minimumFractionDigits:T(e.decimals)?n:0};(j(e.compact)||r)&&l>=1e4&&(i={notation:"compact",maximumFractionDigits:1});var o;try{o=new Intl.NumberFormat(e.lang||"en-GB",i).format(l)}catch{o=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+o+(e.suffix||"")}function Yt(t,e){if(!t.length)return"";for(var r="M"+a(t[0][0])+","+a(t[0][1]),l=1;l<t.length;l++){var n=t[l-1],i=t[l];if(e)r+="L"+a(i[0])+","+a(i[1]);else{var o=(n[0]+i[0])/2;r+="C"+a(o)+","+a(n[1])+" "+a(o)+","+a(i[1])+" "+a(i[0])+","+a(i[1])}}return r}function C(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+bt(r)+"</text>"}function D(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+St+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function zt(t,e,r,l,n){return'<rect class="bzc-hit" x="'+a(t)+'" y="'+a(e)+'" width="'+a(Math.max(1,r))+'" height="'+a(Math.max(1,l))+'" fill="#000" fill-opacity="0" data-tip="'+bt(n)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ht(t,e){var r=$(t.color).filter(Boolean);return r.length?r:e.palette}function mt(t,e,r,l,n){return C(e+l/2,r+n/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+yt+'" font-size="13"')}function _t(t,e){return T(t.notes)?String(t.notes).split(";").map(function(r){var l=r.indexOf(":");if(l<0)return null;var n=r.slice(0,l).trim(),i=r.slice(l+1).trim(),o=e.map(String).indexOf(n);return o<0&&String(parseInt(n,10))===n&&(o=parseInt(n,10)),o>=0&&i?{i:o,text:i}:null}).filter(Boolean):[]}function It(t,e,r,l,n){var i=(T(t.goalLabel)?t.goalLabel:"Goal")+" "+m(W(t.goal,0),t);return'<line x1="'+a(r)+'" x2="'+a(l)+'" y1="'+a(n)+'" y2="'+a(n)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-width="1.25" stroke-dasharray="4 4"/>'+C(l,n-5,i,D(e,10,'text-anchor="end"'))}function Ot(t,e,r){var l=String(T(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var n=Bt(t),i={last:t[t.length-1],total:n,sum:n,average:n/t.length,avg:n/t.length,max:Math.max.apply(null,t),min:Math.min.apply(null,t)};if(!(l in i))return null;var o=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(o=t[t.length-1]-t[0]),{val:i[l],delta:o}}function qt(t){var e=Math.round(nt(W(t.width,360),160,2400)),r=t.frame==="none"?0:4,l=t.frame==="none"?8:20;return{W:e,b:r,P:l,w:e-2*(r+l)}}var xr=".bzc-a{animation:bzc-in .6s ease both}.bzc-d{animation:bzc-draw 1.1s cubic-bezier(.3,.7,.2,1) both}.bzc-g{transform-box:fill-box;transform-origin:50% 100%;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gn{transform-box:fill-box;transform-origin:50% 0;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gx{transform-box:fill-box;transform-origin:0 50%;animation:bzc-growx .8s cubic-bezier(.2,.8,.2,1) both}.bzc-s{animation:bzc-sweep 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes bzc-in{from{opacity:0}}@keyframes bzc-draw{from{stroke-dashoffset:1}}@keyframes bzc-grow{from{transform:scaleY(0)}}@keyframes bzc-growx{from{transform:scaleX(0)}}@keyframes bzc-sweep{from{stroke-dasharray:0 100}}@media (prefers-reduced-motion:reduce){[class^=bzc-]{animation:none!important}}";function pt(t,e,r,l,n){var i=qt(t),o=i.W,s=i.b,f=i.P,u=i.w,v=nt(W(t.corners,22),0,60),d=s+f,c="";T(t.heading)&&(c+=C(s+f,d+10,String(t.heading).toUpperCase(),D(e,11,'font-weight="600" letter-spacing="1.3"')),d+=24);var M=n&&n.stat;if(M){if(c+=C(s+f,d+30,m(M.val,t),'fill="'+e.fg+'" font-family="'+yt+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),M.delta!=null){var k=M.delta>0,V=M.delta===0,F=t.delta==="inverse"?!k:k,L=V?e.muted:F?e.up:e.down,b=(V?"\u25CF ":k?"\u25B2 ":"\u25BC ")+m(Math.abs(M.delta),t)+" "+(T(t.deltaLabel)?t.deltaLabel:"since start");c+=C(s+f+u,d+28,b,'text-anchor="end" fill="'+L+'" font-family="'+St+'" font-size="11" font-weight="600"')}d+=44}var p=l(s+f,d,u,r),R=Math.round(d+r+f+s),S="";t.frame!=="none"?S='<rect width="'+o+'" height="'+R+'" rx="'+v+'" fill="'+e.bezel+'"/><rect x="'+s+'" y="'+s+'" width="'+(o-2*s)+'" height="'+(R-2*s)+'" rx="'+Math.max(0,v-s)+'" fill="'+(t.background||e.tile)+'"/>':T(t.background)&&(S='<rect width="'+o+'" height="'+R+'" rx="'+v+'" fill="'+t.background+'"/>');var x=(T(t.heading)?t.heading+": ":"")+(n&&n.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+o+" "+R+'" width="'+o+'" height="'+R+'" role="img" aria-label="'+bt(x)+'"><title>'+bt(x)+"</title>"+(t.animate?"<style>"+xr+"</style>":"")+S+c+p+"</svg>"}function me(t,e){var r=ct(t.values),l=ht(t,e)[0],n=W(t.height,64),i=$(t.labels),o=_t(t,i),s=Ot(r,t,"last");return pt(t,e,n,function(f,u,v,d){if(!r.length)return mt(e,f,u,v,d);var c=r.length===1?[r[0],r[0]]:r,M=Math.min.apply(null,c),k=Math.max.apply(null,c);T(t.goal)&&(M=Math.min(M,+t.goal),k=Math.max(k,+t.goal));var V=(k-M||Math.abs(k)||1)*.12;M-=V,k+=V;var F=function(g){return f+g*v/(c.length-1)},L=function(g){return u+d-(g-M)/(k-M)*d},b=c.map(function(g,h){return[F(h),L(g)]}),p=Yt(b,j(t.straight)),R=Vt("g"),S=b[b.length-1],x='<defs><linearGradient id="'+R+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+l+'" stop-opacity=".32"/><stop offset="1" stop-color="'+l+'" stop-opacity="0"/></linearGradient></defs>';[1/3,2/3].forEach(function(g){x+='<line x1="'+f+'" x2="'+(f+v)+'" y1="'+a(u+d*g)+'" y2="'+a(u+d*g)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),x+='<path d="'+p+"L"+a(S[0])+","+(u+d)+"L"+f+","+(u+d)+'Z" fill="url(#'+R+')"'+ut(t,"bzc-a")+"/>",x+='<path d="'+p+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+ut(t,"bzc-d")+"/>",T(t.goal)&&(x+=It(t,e,f,f+v,L(+t.goal))),o.forEach(function(g){if(!(g.i>=r.length)){var h=b[g.i];x+='<circle cx="'+a(h[0])+'" cy="'+a(h[1])+'" r="3.5" fill="'+e.fg+'"/>'+C(nt(h[0],f+30,f+v-30),h[1]-9,g.text,D(e,10,'text-anchor="middle"',e.fg))}}),x+='<circle cx="'+a(S[0])+'" cy="'+a(S[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(S[0])+'" cy="'+a(S[1])+'" r="4.5" fill="'+l+'"/>',j(t.showValues)&&b.forEach(function(g,h){h<r.length&&(x+=C(g[0],g[1]-8,m(r[h],t,!0),D(e,9,'text-anchor="middle"')))});var w=r.length>1?v/(r.length-1):v;return r.forEach(function(g,h){x+=zt(F(h)-w/2,u-6,w,d+12,(i[h]||"#"+(h+1))+": "+m(g,t))}),x},{stat:s,summary:r.length?"latest "+m(r[r.length-1],t):"no data"})}me.table=function(t){var e=$(t.labels);return{head:["Label","Value"],rows:ct(t.values).map(function(r,l){return[e[l]||"#"+(l+1),m(r,t)]})}};var Qt={dark:{tile:"#15151d",bezel:"#000000",fg:"#f2f1f7",muted:"#8c8aa0",grid:"#2a2935",up:"#5EE6C8",down:"#F675A8",palette:["#9FA1FF","#F675A8","#5EE6C8","#FFC857","#7CC4FF","#FF8A5B"]},light:{tile:"#ffffff",bezel:"#000000",fg:"#17161f",muted:"#6b6980",grid:"#e8e6ef",up:"#12a383",down:"#d63f7c",palette:["#6E70F0","#E2508C","#16A884","#D99A0E","#2F8FE0","#EE6431"]}};var pe=["spark","line","area","bars","histogram","scatter","ring","donut","gauge","progress","heatmap"],de={};function dt(t,e){de[t]=e}var yr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function Ke(t,e){if(!de[t])throw new Error(pe.includes(t)?`Bezel Charts: the ${t} chart isn't loaded. Add import 'bezel-charts/${t}', or load dist/charts/${t}.js.`:`Bezel Charts: unknown chart type "${t}". Choose one of: ${pe.join(", ")}.`);let r={};for(let[l,n]of Object.entries(e))r[yr(l)]=n;return r}function Lt(t,e={}){let r=Ke(t,e);r.animate=j(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return de[t](r,Qt[l])}function qe(t,e={}){return de[t].table(Ke(t,e))}function He(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Ft(t,e={}){return He(Lt(t,{...e,animate:!1}))}var Qe=["type","values","labels","series","heading","prefix","suffix","decimals","compact","color","theme","frame","width","height","goal","goal-label","notes","show-values","stat","delta","delta-label","max","min","value","zones","horizontal","straight","zero","start","lang","corners","background","center-label","highlight","x","y","x-label","y-label","trend","static","no-tooltips","stacked","angle-labels","dash","markers","patterns","bins","bin-width","mark","percent"],br=`:host{display:block;position:relative;max-width:100%}:host([hidden]){display:none}svg{display:block;max-width:100%;height:auto;overflow:visible}.tip{position:absolute;left:0;top:0;pointer-events:none;background:#0b0b10;color:#f2f1f7;font:600 12px/1.5 ${St};padding:7px 10px;border-radius:10px;white-space:pre;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .12s;z-index:3;border:1px solid #2a2935;box-shadow:0 8px 24px rgba(0,0,0,.35)}.tip.on{opacity:1}.c{outline:none}.c:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #000}.k{stroke:currentColor;stroke-width:2;stroke-opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (forced-colors:active){.c:focus-visible{outline-color:Highlight}}`,Mr={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},kr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,wr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},Pe=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>Pe.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var Sr=typeof HTMLElement>"u"?class{}:HTMLElement,At=class extends Sr{static get observedAttributes(){return Qe}static get themes(){return Qt}get resolvedTheme(){let e=this.getAttribute("theme");return e==="light"||e==="dark"?e:this.options.autoTheme}get chartType(){return this.getAttribute("type")||"spark"}connectedCallback(){this.shadowRoot||(this.attachShadow({mode:"open"}).innerHTML=`<style>${br}</style><div class="c" role="group" aria-roledescription="chart"></div><p class="sr" id="h">Use the arrow keys to step through the values.</p><div class="tip" aria-hidden="true"></div><div class="sr" aria-live="polite"></div><div class="sr"></div>`,[,this.#t,,this.#r,this.#o,this.#c]=this.shadowRoot.children,this.shadowRoot.addEventListener("pointermove",e=>this.#h(e)),this.shadowRoot.addEventListener("pointerdown",e=>this.#h(e)),this.addEventListener("pointerleave",()=>this.#r.classList.remove("on")),this.#t.addEventListener("keydown",e=>this.#v(e)),this.#t.addEventListener("blur",()=>this.#g())),Pe.add(this),this.#a=kr(),this.#a?.addEventListener?.("change",this.#u),typeof ResizeObserver=="function"?(this.#l=new ResizeObserver(([e])=>{let r=Math.round(e.contentRect.width);(!this.#n||!this.hasAttribute("width")&&r>0&&Math.abs(r-this.#s)>1)&&this.#i()}),this.#l.observe(this)):this.#i()}disconnectedCallback(){Pe.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#u)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of Qe)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=wr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return He(Lt(this.chartType,{...this.options,...e,animate:!1}))}download(e){let r=URL.createObjectURL(new Blob([this.toSVG()],{type:"image/svg+xml"})),l=Object.assign(document.createElement("a"),{href:r,download:`${(e||this.getAttribute("heading")||this.chartType).replace(/[^\w-]+/g,"-").toLowerCase()}.svg`});document.body.append(l),l.click(),l.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}#l=null;#t=null;#r=null;#o=null;#c=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#u=()=>{let e=this.getAttribute("theme");(!e||e==="auto")&&this.refresh()};#i(){if(!this.shadowRoot)return;let e=Math.round(this.getBoundingClientRect?.().width||0);this.#s=e>0?e:360;let r=this.options;r.animate=!this.#n&&!this.hasAttribute("static");let l,n=null;try{l=Lt(this.chartType,r),n=qe(this.chartType,r)}catch(f){l=`<p style="font:13px ${yt};color:#d63f7c">${bt(f.message)}</p>`}let i=this.#t;i.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let o=i.querySelector("svg");o?(i.setAttribute("aria-label",o.getAttribute("aria-label")),o.removeAttribute("role"),o.removeAttribute("aria-label"),o.setAttribute("aria-hidden","true")):i.removeAttribute("aria-label");let s=!!o&&!this.hasAttribute("no-tooltips");s?(i.setAttribute("tabindex","0"),i.setAttribute("aria-describedby","h")):(i.removeAttribute("tabindex"),i.removeAttribute("aria-describedby")),i.style.color=Qt[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,i.style.borderRadius=`${r.frame==="none"?4:nt(+r.corners||22,0,60)}px`,this.#c.innerHTML=n&&n.rows.length?Er(r.heading,n):"",this.#e>=0&&s&&this.shadowRoot.activeElement===i?this.#d(this.#e):this.#e=-1,this.#n=!0,this.dispatchEvent(new CustomEvent("bezel-render",{bubbles:!0}))}#h(e){if(this.hasAttribute("no-tooltips"))return;let r=e.target?.closest?.("[data-tip]");if(!r){this.#r.classList.remove("on");return}this.#m(r,e.clientX,e.clientY)}#m(e,r,l){let n=this.#r;n.textContent=e.getAttribute("data-tip");let i=this.getBoundingClientRect?.()||{left:0,top:0,width:0},o=n.offsetWidth/2;n.style.left=`${nt(r-i.left,o,Math.max(o,i.width-o))}px`,n.style.top=`${l-i.top}px`,n.classList.add("on")}#p(){return[...this.#t.querySelectorAll("[data-tip]:not([data-skip])")]}#v(e){let r=this.#p(),l=r.length;if(!l)return;let n=this.#e,i=Mr[e.key];if(i)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(i*=7),n=n<0?i>0?0:l-1:nt(n+i,0,l-1);else if(e.key==="Home"||e.key==="End")n=e.key==="Home"?0:l-1;else{e.key==="Escape"&&this.#g();return}e.preventDefault(),this.#d(n,!0)}#d(e,r){let l=this.#p();if(!l.length)return;e=nt(e,0,l.length-1),this.#t.querySelector(".k")?.classList.remove("k");let n=l[e],i=n.getBoundingClientRect?.()||{left:0,top:0,width:0};n.classList.add("k"),this.#e=e,this.#m(n,i.left+i.width/2,i.top),r&&(this.#o.textContent=`${n.getAttribute("data-tip").replace(/\n/g,", ")}. ${e+1} of ${l.length}`)}#g(){this.#t.querySelector(".k")?.classList.remove("k"),this.#r.classList.remove("on"),this.#o.textContent="",this.#e=-1}};function Er(t,{head:e,rows:r}){let l=n=>n.map((i,o)=>o?`<td>${bt(i)}</td>`:`<th scope="row">${bt(i)}</th>`).join("");return`<table><caption>${bt(t||"Chart data")}</caption><thead><tr>${e.map(n=>`<th scope="col">${bt(n)}</th>`).join("")}</tr></thead><tbody>${r.map(n=>`<tr>${l(n)}</tr>`).join("")}</tbody></table>`}function gt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends At{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends At{}))}dt("spark",me);gt("spark");function Jt(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var n=(e-t)/(r||4),i=Math.pow(10,Math.floor(Math.log10(n))),o=n/i,s=(o<=1?1:o<=2?2:o<=5?5:10)*i,f=Math.floor(t/s)*s,u=Math.ceil(e/s)*s,v=[],d=f;d<=u+s/2;d+=s)v.push(+d.toFixed(10));return{lo:f,hi:u,ticks:v}}function Ut(t,e,r,l,n,i,o,s){var f=l,u=n,v="",d=s||13;return t.forEach(function(c,M){var k=d+wt(c,12)+16;f>l&&f+k-16>l+i&&(f=l,u+=20),v+=(o?o(M,f,u):'<circle cx="'+a(f+4)+'" cy="'+a(u+6)+'" r="4" fill="'+e[M%e.length]+'"/>')+C(f+d,u+10,c,'fill="'+r.fg+'" font-family="'+yt+'" font-size="12"'),f+=k}),{svg:v,height:u-n+24}}var Xt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},re=["circle","square","triangle","diamond"],ae=["solid","stripes","dots","grid"];function Nt(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:$(t).map(function(n){return e.indexOf(n)<0?r:n});return l.length?function(n){return l[n%l.length]}:null}function ne(t,e,r,l,n){var i=l*1.15,o=l*.85;return t==="square"?'<rect x="'+a(e-o)+'" y="'+a(r-o)+'" width="'+a(2*o)+'" height="'+a(2*o)+'" rx="1"'+n+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-i)+"L"+a(e+i)+","+a(r+o)+"L"+a(e-i)+","+a(r+o)+'Z"'+n+"/>":t==="diamond"?'<path d="M'+a(e)+","+a(r-i*1.1)+"L"+a(e+i)+","+a(r)+"L"+a(e)+","+a(r+i*1.1)+"L"+a(e-i)+","+a(r)+'Z"'+n+"/>":'<circle cx="'+a(e)+'" cy="'+a(r)+'" r="'+a(l)+'"'+n+"/>"}function ie(t,e,r,l){var n=' stroke="'+l+'" stroke-opacity=".55" stroke-width="1.5"';return'<pattern id="'+t+'" width="6" height="6" patternUnits="userSpaceOnUse"'+(e==="dots"?"":' patternTransform="rotate(45)"')+'><rect width="6" height="6" fill="'+r+'"/>'+(e==="dots"?'<circle cx="3" cy="3" r="1.3" fill="'+l+'" fill-opacity=".55"/>':'<path d="M3,0V6'+(e==="grid"?"M0,3H6":"")+'"'+n+"/>")+"</pattern>"}function Je(t){return Math.max.apply(null,t.map(function(e){return wt(e,10,!0)}))+10}function le(t,e){for(var r=Et(t.values),l=$(t.series),n=$(t.labels),i=[],o=Math.max.apply(null,[0].concat(r.map(function(d){return d.length}))),s=0;s<o;s++){var f=[n[s]||"#"+(s+1)],u=0;r.forEach(function(d){f.push(s<d.length?m(d[s],t):""),u+=s<d.length?d[s]:0}),e&&f.push(m(u,t)),i.push(f)}var v=r.length>1||l.length?r.map(function(d,c){return l[c]||"Series "+(c+1)}):["Value"];return{head:["Label"].concat(v,e?["Total"]:[]),rows:i}}function ge(t,e,r,l,n,i,o){var s="",f=n,u=r.n,v=r.labels;if(r.names){var d=Ut(r.names,r.pal,e,l,f,i,r.key,r.kw);s+=d.svg,f+=d.height}var c=r.lo,M=r.hi;T(t.goal)&&(c=Math.min(c,+t.goal),M=Math.max(M,+t.goal)),r.zero&&(c=Math.min(0,c),M=Math.max(0,M));var k=Jt(c,M,4),V=k.ticks.map(r.tick),F=Math.max.apply(null,V.map(function(O){return wt(O,10,!0)}))+10,L=v.length?20:4,b=l+F,p=i-F,R=o-(f-n)-L,S=function(O){return u===1?b+p/2:b+O*p/(u-1)},x=function(O){return f+R-(O-k.lo)/(k.hi-k.lo)*R};if(k.ticks.forEach(function(O,y){var E=x(O);s+='<line x1="'+a(b)+'" x2="'+a(b+p)+'" y1="'+a(E)+'" y2="'+a(E)+'" stroke="'+e.grid+'"'+(O===0?"":' stroke-dasharray="2 4"')+"/>"+C(b-8,E+3.5,V[y],D(e,10,'text-anchor="end"'))}),v.length){for(var w=Math.max(1,Math.ceil(u*(Math.max.apply(null,v.map(function(O){return wt(O,10,!0)}))+10)/p)),g=0;g<u;g+=w)if(v[g]!=null){var h=u>1&&g===0?"start":u>1&&g===u-1?"end":"middle";s+=C(S(g),f+R+15,v[g],D(e,10,'text-anchor="'+h+'"'))}}return r.notes.forEach(function(O){if(!(O.i>=u)){var y=S(O.i);s+='<line x1="'+a(y)+'" x2="'+a(y)+'" y1="'+a(f+12)+'" y2="'+a(f+R)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+C(nt(y,b+30,b+p-30),f+8,O.text,D(e,10,'text-anchor="middle"',e.fg))}}),{svg:s,X:S,Y:x,px:b,pw:p,top:f,ph:R}}function ve(t,e,r,l,n){for(var i=T(t.goal)?It(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",o=l>1?r.pw/(l-1):r.pw,s=0;s<l;s++)i+=zt(r.X(s)-o/2,r.top,o,r.ph,n(s));return i}function xe(t,e,r,l){return function(n,i,o){var s=t[n%t.length],f=e?Xt[e(n)]:"",u=r?r(n):"none";return'<line x1="'+a(i)+'" x2="'+a(i+18)+'" y1="'+a(o+6)+'" y2="'+a(o+6)+'" stroke="'+s+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(u!=="none"?ne(u,i+9,o+6,3.5,' fill="'+s+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(t,e,r,l,n){return n?'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="'+n+'"'+ut(t,"bzc-a",l*.15)+"/>":'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1'+(t.animate?";animation-delay:"+l*.15+"s":"")+'"'+(t.animate?' class="bzc-d"':"")+"/>"}function be(t,e,r,l,n,i,o,s){var f="",u=Math.ceil(r.length/40);return r.forEach(function(v,d){(d%u===0||d===r.length-1)&&(f+=ne(e,l(d),n(v),3.5,' fill="'+i+'" stroke="'+o+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+s*.15)))}),f}function Me(t,e){var r=Et(t.values),l=$(t.series),n=$(t.labels),i=ht(t,e),o=W(t.height,170),s=Math.max.apply(null,[0].concat(r.map(function(F){return F.length}))),f=_t(t,n),u=r.length>1||l.length>0,v=Ot(r[0]||[],t,""),d=Nt(t.dash,Object.keys(Xt),"solid"),c=Nt(t.markers,re,"none"),M=t.background||e.tile,k=(d||c)&&xe(i,d,c,M),V=function(F){return l[F]||"Series "+(F+1)};return pt(t,e,o,function(F,L,b,p){if(!s)return mt(e,F,L,b,p);var R=[].concat.apply([],r),S=ge(t,e,{n:s,names:u?r.map(function(N,G){return V(G)}):null,pal:i,key:k,kw:k&&24,lo:Math.min.apply(null,R),hi:Math.max.apply(null,R),zero:j(t.zero),labels:n,notes:f,tick:function(N){return m(N,t,!0)}},F,L,b,p),x=S.svg,w=S.X,g=S.Y,h=S.px,O=S.pw,y=S.top,E=S.ph;return r.forEach(function(N,G){var Z=i[G%i.length],Y=N.map(function(rt,lt){return[w(lt),g(rt)]});Y.length===1&&(Y=[[h,Y[0][1]],[h+O,Y[0][1]]]);var Q=Yt(Y,j(t.straight));if(G===0){var ot=Vt("g"),it=Y[Y.length-1];x+='<defs><linearGradient id="'+ot+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+Z+'" stop-opacity=".26"/><stop offset="1" stop-color="'+Z+'" stop-opacity="0"/></linearGradient></defs><path d="'+Q+"L"+a(it[0])+","+a(y+E)+"L"+a(Y[0][0])+","+a(y+E)+'Z" fill="url(#'+ot+')"'+ut(t,"bzc-a")+"/>"}var H=c?c(G):"none";if(x+=ye(t,Q,Z,G,d?Xt[d(G)]:""),H!=="none")x+=be(t,H,N,w,g,Z,M,G);else{var et=Y[Y.length-1];x+='<circle cx="'+a(et[0])+'" cy="'+a(et[1])+'" r="4" fill="'+Z+'" stroke="'+M+'" stroke-width="2"/>'}j(t.showValues)&&N.forEach(function(rt,lt){x+=C(w(lt),g(rt)-8,m(rt,t,!0),D(e,9,'text-anchor="middle"'))})}),x+ve(t,e,S,s,function(N){var G=n[N]||"#"+(N+1);return r.forEach(function(Z,Y){N<Z.length&&(G+=`
3
- `+(u?V(Y)+": ":"")+m(Z[N],t))}),G})},{stat:v,summary:r.length+" series over "+s+" points"})}Me.table=function(t){return le(t)};dt("line",Me);gt("line");function ke(t,e){for(var r=Et(t.values),l=$(t.series),n=$(t.labels),i=ht(t,e),o=W(t.height,170),s=r.length,f=Math.max.apply(null,[0].concat(r.map(function(H){return H.length}))),u=s>1?t.stacked==="percent"?"percent":j(t.stacked)?"stack":"":"",v=_t(t,n),d=s>1||l.length>0,c=function(H){return l[H]||"Series "+(H+1)},M=function(H,et){return et<r[H].length?r[H][et]:0},k=r.map(function(){return[]}),V=r.map(function(){return[]}),F=[],L=[],b=0;b<f;b++){for(var p=0,R=0,S=0,x=0,w=0;w<s;w++)S+=M(w,b),x+=Math.max(0,M(w,b));for(F.push(S),L.push(x),w=0;w<s;w++){var g=u==="percent"?x?Math.max(0,M(w,b))/x*100:0:M(w,b);u?g>=0?(k[w].push(p),p+=g,V[w].push(p)):(k[w].push(R),R+=g,V[w].push(R)):(k[w].push(0),V[w].push(g))}}for(var h=[].concat.apply([],k.concat(V)),O=Nt(t.dash,Object.keys(Xt),"solid"),y=Nt(t.markers,re,"none"),E=s>1?Nt(t.patterns,ae,"solid"):null,N=t.background||e.tile,G="",Z=[],Y=0;E&&Y<s;Y++)if(E(Y)!=="solid"){var Q=Vt("g");G+=ie(Q,E(Y),i[Y%i.length],N),Z[Y]="url(#"+Q+")"}var ot=E?function(H,et,rt){return'<rect x="'+a(et)+'" y="'+a(rt+1)+'" width="10" height="10" rx="2" fill="'+(Z[H]||i[H%i.length])+'"/>'}:(O||y)&&xe(i,O,y,N),it=function(H,et){return L[et]?Math.round(Math.max(0,M(H,et))/L[et]*100):0};return pt(t,e,o,function(H,et,rt,lt){if(!f)return mt(e,H,et,rt,lt);var st=ge(t,e,{n:f,names:d?r.map(function(K,A){return c(A)}):null,pal:i,key:ot,kw:ot&&(E?15:24),lo:Math.min.apply(null,h),hi:Math.max.apply(null,h),zero:!0,labels:n,notes:v,tick:u==="percent"?function(K){return m(K,{lang:t.lang},!0)+"%"}:function(K){return m(K,t,!0)}},H,et,rt,lt),z=(G?"<defs>"+G+"</defs>":"")+st.svg,U=st.X,B=st.Y,ft=function(K){var A=K.map(function(_,I){return[U(I),B(_)]});return A.length===1?[[st.px,A[0][1]],[st.px+st.pw,A[0][1]]]:A},J=j(t.straight),Mt=u?".8":".22",vt=function(K){return u?V[K]:r[K]};return r.forEach(function(K,A){var _=ft(vt(A)),I=ft(u?k[A]:vt(A).map(function(){return 0})).reverse();z+='<path d="'+Yt(_,J)+Yt(I,J).replace(/^M/,"L")+'Z" fill="'+(Z[A]||i[A%i.length])+'" fill-opacity="'+Mt+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(A*.1)+'s"':"")+"/>"}),r.forEach(function(K,A){var _=i[A%i.length],I=vt(A),P=ft(I),q=y?y(A):"none";z+=ye(t,Yt(P,J),_,A,O?Xt[O(A)]:""),q!=="none"?z+=be(t,q,I,U,B,_,N,A):u||(z+='<circle cx="'+a(P[P.length-1][0])+'" cy="'+a(P[P.length-1][1])+'" r="4" fill="'+_+'" stroke="'+N+'" stroke-width="2"/>'),j(t.showValues)&&!u&&I.forEach(function(tt,at){z+=C(U(at),B(tt)-8,m(tt,t,!0),D(e,9,'text-anchor="middle"'))})}),j(t.showValues)&&u==="stack"&&F.forEach(function(K,A){var _=Math.max.apply(null,V.map(function(I){return I[A]}).concat([0]));z+=C(U(A),B(_)-8,m(K,t,!0),D(e,9,'text-anchor="middle"'))}),z+ve(t,e,st,f,function(K){var A=n[K]||"#"+(K+1);return r.forEach(function(_,I){K<_.length&&(A+=`
4
- `+(d?c(I)+": ":"")+m(_[K],t)+(u==="percent"?" ("+it(I,K)+"%)":""))}),A+(u?`
5
- Total: `+m(F[K],t):"")})},{stat:Ot(u?F:r[0]||[],t,""),summary:s+" series "+(u==="percent"?"as shares of each total":u?"stacked":"filled")+" over "+f+" points"})}ke.table=function(t){var e=Et(t.values);return le(t,e.length>1&&(t.stacked==="percent"||j(t.stacked)))};dt("area",ke);gt("area");var je=40,tr=24;function we(t,e){for(var r=Et(t.values),l=$(t.series),n=$(t.labels),i=ht(t,e),o=r.length,s=Math.max.apply(null,[0].concat(r.map(function(z){return z.length}))),f=o>1,u=j(t.horizontal),v=f&&j(t.stacked),d=!f&&$(t.color).filter(Boolean).length>1,c=r[0]||[],M=[].concat.apply([],r),k=function(z,U){return r.reduce(function(B,ft){return z<ft.length&&ft[z]*U>0?B+ft[z]:B},0)},V=[],F=[],L=[],b=0;v&&b<s;b++)F.push(k(b,1)),L.push(k(b,-1)),V.push(F[b]+L[b]);for(var p=v?F.concat(L):M,R=p.length?Math.max.apply(null,p):0,S=function(z){return l[z]||"Series "+(z+1)},x=f?Nt(t.patterns,ae,"solid"):null,w="",g=[],h=0;x&&h<o;h++)if(x(h)!=="solid"){var O=Vt("g");w+=ie(O,x(h),i[h%i.length],t.background||e.tile),g[h]="url(#"+O+")"}var y=function(z,U){return f?g[z]||i[z%i.length]:d?i[U%i.length]:i[0]},E=x&&function(z,U,B){return'<rect x="'+a(U)+'" y="'+a(B+1)+'" width="10" height="10" rx="2" fill="'+y(z)+'"/>'},N=function(z){return f||d||t.highlight==="none"||z===R?1:.5},G=function(z){return n[z]||"#"+(z+1)},Z=function(z){return f?G(z)+r.map(function(U,B){return z<U.length?`
6
- `+S(B)+": "+m(U[z],t):""}).join("")+(v?`
7
- Total: `+m(V[z],t):""):G(z)+": "+m(c[z],t)},Y=qt(t),Q=f||l.length?Ut(r.map(function(z,U){return S(U)}),i,e,0,0,Y.w,E,E&&15).height:0,ot=v?1:o,it=f&&!v,H=it?10:14,et=3,rt=u?ot*H+(ot-1)*et+(it?14:16):0,lt=u?Q+Math.max(1,s)*rt-6:W(t.height,140)+Q,st=c.indexOf(Math.max.apply(null,c.length?c:[0]));return pt(t,e,lt,function(z,U,B,ft){if(!s)return mt(e,z,U,B,ft);var J=w?"<defs>"+w+"</defs>":"",Mt=U;Q&&(J+=Ut(r.map(function(X,xt){return S(xt)}),i,e,z,U,B,E,E&&15).svg,Mt+=Q);var vt=Math.min(0,Math.min.apply(null,p)),K=Math.max(0,R);if(T(t.goal)&&(vt=Math.min(vt,+t.goal),K=Math.max(K,+t.goal)),K===vt&&(K=vt+1),u){for(var A=n.length?Math.min(B*.4,Math.max.apply(null,n.map(function(X){return wt(X,12)}))+10):0,_=v?[V.map(function(X){return m(X,t)})]:r.map(function(X){return X.map(function(xt){return m(xt,t)})}),I=Math.max.apply(null,[].concat.apply([],_).map(function(X){return wt(X,it?10:11,!0)}))+10,P=z+A,q=B-A-I,tt=Math.max(K,0)||1,at=0;at<s;at++){var Ct=Mt+at*rt;n[at]!=null&&(J+=C(z,Ct+(rt-6)/2+4,Kt(n[at],Math.floor(A/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')),v?(J+=lr(at,P,Ct+5,q,tt),J+=C(z+B,Ct+5+H/2+3.8,_[0][at],'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"')):r.forEach(function(X,xt){if(!(at>=X.length)){var kt=X[at],Rt=Ct+(f?2:5)+xt*(H+et),Ht=Math.max(0,kt)/tt*q;f||(J+='<rect x="'+a(P)+'" y="'+a(Rt)+'" width="'+a(q)+'" height="'+H+'" rx="'+H/2+'" fill="'+e.grid+'" fill-opacity=".6"/>'),Ht>0&&(J+='<rect x="'+a(P)+'" y="'+a(Rt)+'" width="'+a(Math.max(H,Ht))+'" height="'+H+'" rx="'+H/2+'" fill="'+y(xt,at)+'" fill-opacity="'+N(kt)+'"'+ut(t,"bzc-gx",at*.06+xt*.03)+"/>"),J+=C(z+B,Rt+H/2+3.8,_[xt][at],'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="'+(f?10:11)+'" font-weight="600"')}}),J+=zt(z,Ct,B,rt-6,Z(at))}if(T(t.goal)&&+t.goal>0){var De=P+ +t.goal/tt*q;J+='<line x1="'+a(De)+'" x2="'+a(De)+'" y1="'+a(Mt-2)+'" y2="'+a(U+ft+2)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return J}function lr(X,xt,kt,Rt,Ht){var Pt='<rect x="'+a(xt)+'" y="'+a(kt)+'" width="'+a(Rt)+'" height="'+H+'" rx="'+H/2+'" fill="'+e.grid+'" fill-opacity=".6"/>',te=0;return r.forEach(function(ce,Dt){var ee=X<ce.length?ce[X]:0,$t=Math.max(0,ee)/Ht*Rt;if(!($t<=0)){var Zt=te>0?1.5:0;Pt+='<rect x="'+a(xt+te+Zt)+'" y="'+a(kt)+'" width="'+a(Math.max(2,$t-Zt))+'" height="'+H+'" rx="'+a(Math.min(3,$t/2))+'" fill="'+y(Dt,X)+'"'+ut(t,"bzc-gx",X*.06+Dt*.03)+"/>",te+=$t}}),Pt}var $e=n.length?Math.max.apply(null,n.map(function(X){return wt(X,10,!0)})):0,Ce=n.length?Math.max(1,Math.ceil(s*($e+8)/B)):1,oe=j(t.angleLabels)&&Ce>1,Ue=je*Math.PI/180,Ye=function(X){return oe?Kt(X,tr):X};if(oe){var or=B/s,jt=0;n.forEach(function(X,xt){jt=Math.max(jt,Math.cos(Ue)*wt(Ye(X),10,!0)+4-(xt+.5)*or)}),jt=Math.min(jt,B*.25),z+=jt,B-=jt,Ce=1}var _e=j(t.showValues)&&vt<0?14:0,sr=oe?Math.ceil(Math.sin(Ue)*Math.min($e,wt("x".repeat(tr),10,!0)))+18:20,fr=(n.length?sr:2)+_e,Ie=j(t.showValues)?16:4,Fe=ft-(Mt-U)-fr-Ie,Xe=Mt+Ie,Gt=function(X){return Xe+Fe-(X-vt)/(K-vt)*Fe},se=B/s,fe=Math.min(se*(it?.78:.62),it?o*30:56),We=it?Math.min(3,fe/o*.15):0,Wt=v?fe:(fe-We*(o-1))/o,he=Gt(0);J+='<line x1="'+z+'" x2="'+(z+B)+'" y1="'+a(he)+'" y2="'+a(he)+'" stroke="'+e.grid+'"/>';for(var Tt=0;Tt<s;Tt++){var Ne=z+Tt*se+(se-fe)/2;if(v?J+=cr(Tt,Ne):r.forEach(function(X,xt){if(!(Tt>=X.length)){var kt=X[Tt],Rt=Ne+xt*(Wt+We),Ht=Math.min(Gt(kt),he),Pt=Math.abs(Gt(kt)-he);Pt>.5&&(J+='<rect x="'+a(Rt)+'" y="'+a(Ht)+'" width="'+a(Wt)+'" height="'+a(Pt)+'" rx="'+a(Math.min(6,Wt/2,Pt/2))+'" fill="'+y(xt,Tt)+'" fill-opacity="'+N(kt)+'"'+ut(t,kt<0?"bzc-gn":"bzc-g",Tt*.05+xt*.03)+"/>"),j(t.showValues)&&(J+=C(Rt+Wt/2,kt<0?Gt(kt)+12:Gt(kt)-5,m(kt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+St+'" font-size="'+(f?9:10)+'" font-weight="600"'))}}),n[Tt]!=null&&Tt%Ce===0){var Re=Ne+fe/2,Ve=Xe+Fe+_e+(oe?12:15);J+=oe?C(Re,Ve,Ye(n[Tt]),D(e,10,'text-anchor="end" transform="rotate(-'+je+" "+a(Re)+" "+a(Ve)+')"')):C(Re,Ve,n[Tt],D(e,10,'text-anchor="middle"'))}J+=zt(z+Tt*se,Mt,se,ft-(Mt-U),Z(Tt))}return T(t.goal)&&(J+=It(t,e,z,z+B,Gt(+t.goal))),J;function cr(X,xt){var kt="",Rt=0,Ht=0;if(r.forEach(function(te,ce){var Dt=X<te.length?te[X]:0;if(Dt){var ee=Dt>0?Rt:Ht,$t=ee+Dt;Dt>0?Rt=$t:Ht=$t;var Zt=Gt(Math.max(ee,$t)),Be=Gt(Math.min(ee,$t)),ue=Be-Zt,Ze=ee!==0?Math.min(1.5,ue/2):0;Dt>0?Be-=Ze:Zt+=Ze,ue=Be-Zt,ue>.5&&(kt+='<rect x="'+a(xt)+'" y="'+a(Zt)+'" width="'+a(Wt)+'" height="'+a(ue)+'" rx="'+a(Math.min(3,Wt/2,ue/2))+'" fill="'+y(ce,X)+'"'+ut(t,Dt<0?"bzc-gn":"bzc-g",X*.05+ce*.03)+"/>")}}),j(t.showValues)){var Pt=V[X];kt+=C(xt+Wt/2,Pt<0?Gt(L[X])+12:Gt(F[X])-5,m(Pt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+St+'" font-size="10" font-weight="600"')}return kt}},{stat:Ot(c,t,""),summary:s?v?o+" series stacked across "+s+" groups":f?o+" series across "+s+" groups":"highest "+(n[st]||"")+" "+m(c[st],t):"no data"})}we.table=function(t){return le(t,Et(t.values).length>1&&j(t.stacked))};dt("bars",we);gt("bars");function Se(t,e){for(var r=rr(t),l=$(t.series),n=ht(t,e),i=W(t.height,190),o=r?r.S:[],s=o.length,f=s>1||l.length>0,u=j(t.percent),v=function(h){return l[h]||"Series "+(h+1)},d=Object.assign({},t,{decimals:T(t.decimals)?t.decimals:r?r.dp:0}),c=function(h){return m(r.edge(h),d)+" to "+m(r.edge(h+1),d)},M=function(h,O){return Math.round(r.counts[h][O]/o[h].length*100)},k=function(h,O){return u?r.counts[h][O]/o[h].length*100:r.counts[h][O]},V=$(t.mark).filter(function(h){return h==="mean"||h==="median"}),F=s>1?Nt(t.patterns,ae,"solid"):null,L="",b=[],p=0;F&&p<s;p++)if(F(p)!=="solid"){var R=Vt("g");L+=ie(R,F(p),n[p%n.length],t.background||e.tile),b[p]="url(#"+R+")"}var S=F&&function(h,O,y){return'<rect x="'+a(O)+'" y="'+a(y+1)+'" width="10" height="10" rx="2" fill="'+(b[h]||n[h%n.length])+'"/>'},x=0,w=0;if(r){for(var g=0;g<r.count;g++)er(r,g)>er(r,x)&&(x=g);o.forEach(function(h){w+=h.length})}return pt(t,e,i,function(h,O,y,E){if(!r)return mt(e,h,O,y,E);var N=L?"<defs>"+L+"</defs>":"",G=O;if(f){var Z=Ut(o.map(function(P,q){return v(q)}),n,e,h,G,y,S,S&&15);N+=Z.svg,G+=Z.height}var Y=0;o.forEach(function(P,q){for(var tt=0;tt<r.count;tt++)Y=Math.max(Y,k(q,tt))});var Q=Jt(0,Y||1,4),ot=Q.ticks.map(function(P){return m(P,{lang:t.lang},!0)+(u?"%":"")}),it=Math.max.apply(null,ot.map(function(P){return wt(P,10,!0)}))+10,H=h+it,et=y-it,rt=E-(G-O)-20,lt=et/r.count,st=function(P){return H+P*lt},z=function(P){return G+rt-(P-Q.lo)/(Q.hi-Q.lo)*rt};Q.ticks.forEach(function(P,q){var tt=z(P);N+='<line x1="'+a(H)+'" x2="'+a(H+et)+'" y1="'+a(tt)+'" y2="'+a(tt)+'" stroke="'+e.grid+'"'+(P===0?"":' stroke-dasharray="2 4"')+"/>"+C(H-8,tt+3.5,ot[q],D(e,10,'text-anchor="end"'))});for(var U=[],B=0;B<=r.count;B++)U.push(m(r.edge(B),d,!0));var ft=Math.max(1,Math.ceil((Math.max.apply(null,U.map(function(P){return wt(P,10,!0)}))*1.5+8)/lt));for(B=0;B<=r.count;B+=ft)N+=C(st(B),G+rt+15,U[B],D(e,10,'text-anchor="'+(B===0?"start":B===r.count?"end":"middle")+'"'));o.forEach(function(P,q){for(var tt=0;tt<r.count;tt++){var at=k(q,tt);if(at){var Ct=z(at);N+='<rect x="'+a(st(tt)+.5)+'" y="'+a(Ct)+'" width="'+a(Math.max(1,lt-1))+'" height="'+a(G+rt-Ct)+'" fill="'+(b[q]||n[q%n.length])+'"'+(f?' fill-opacity=".55"':"")+ut(t,"bzc-g",Math.min(.6,tt*.03))+"/>"}}});var J=r.edge(0),Mt=r.edge(r.count)-J,vt=[];if(o.forEach(function(P,q){V.forEach(function(tt){var at=tt==="mean"?Lr(P):Ar(P);vt.push({x:H+(at-J)/Mt*et,c:f?n[q%n.length]:e.fg,t:(f?v(q)+" ":"")+tt+" "+m(at,t)})})}),vt.length){var K=vt.map(function(P){return P.x}),A=(Math.min.apply(null,K)+Math.max.apply(null,K))/2>H+et/2,_=A?Math.min.apply(null,K)-5:Math.max.apply(null,K)+5;vt.forEach(function(P,q){N+='<line x1="'+a(P.x)+'" x2="'+a(P.x)+'" y1="'+a(G)+'" y2="'+a(G+rt)+'" stroke="'+P.c+'" stroke-width="1.5" stroke-dasharray="4 3"/>'+C(_,G+9+q*12,P.t,D(e,10,'text-anchor="'+(A?"end":"start")+'"',f?P.c:e.fg))})}for(g=0;g<r.count;g++){var I=c(g);o.forEach(function(P,q){I+=`
8
- `+(f?v(q)+": ":"")+r.counts[q][g]+" ("+M(q,g)+"%)"}),N+=zt(st(g),G,lt,rt,I)}return N},{summary:r?(f?s+" series, ":"")+w+" values in "+r.count+" ranges from "+m(r.edge(0),d)+" to "+m(r.edge(r.count),d)+", most in "+c(x):"no data"})}Se.table=function(t){var e=rr(t),r=$(t.series);if(!e)return{head:["Range","Count"],rows:[]};for(var l=e.S.length>1||r.length>0,n=Object.assign({},t,{decimals:T(t.decimals)?t.decimals:e.dp}),i=[],o=0;o<e.count;o++){var s=[m(e.edge(o),n)+" to "+m(e.edge(o+1),n)];l?e.S.forEach(function(f,u){s.push(String(e.counts[u][o]))}):s.push(String(e.counts[0][o]),Math.round(e.counts[0][o]/e.S[0].length*100)+"%"),i.push(s)}return{head:["Range"].concat(l?e.S.map(function(f,u){return r[u]||"Series "+(u+1)}):["Count","Share"]),rows:i}};function zr(t){var e=Math.floor(Math.log10(t)),r=+("1e"+e),l=t/r,n=l<1.4142?1:l<2.2361?2:l<3.5355?2.5:l<7.0711?5:10;return{w:n*r,dp:Math.max(0,n===10?-e-1:-e)+(n===2.5?1:0)}}function rr(t){var e=Et(t.values),r=[].concat.apply([],e);if(!r.length)return null;var l=Math.min.apply(null,r),n=Math.max.apply(null,r),i=W(t.binWidth,0),o,s;if(i>0&&(n-l)/i<=200){var f=String(t.binWidth),u=f.indexOf(".");o=u<0?0:Math.min(6,f.length-u-1)}else{var v=W(t.bins,0)>0?Math.round(W(t.bins,0)):Math.ceil(Math.log2(r.length)+1);v=Math.min(Math.max(v,1),50),s=zr(n>l?(n-l)/v:Math.abs(l)||1),i=s.w,o=s.dp}for(var d=Math.floor(l/i),c=function(V){return Number(((d+V)*i).toFixed(o+3))};c(0)>l;)d--;for(var M=Math.max(1,Math.ceil((n-c(0))/i));M>1&&c(M-1)>=n;)M--;for(;c(M)<n;)M++;var k=e.map(function(V){for(var F=[],L=0;L<M;L++)F.push(0);return V.forEach(function(b){for(var p=Math.min(M-1,Math.max(0,Math.floor((b-c(0))/i)));p>0&&b<c(p);)p--;for(;p<M-1&&b>=c(p+1);)p++;F[p]++}),F});return{S:e,edge:c,count:M,counts:k,dp:o}}function er(t,e){var r=0;return t.counts.forEach(function(l){r+=l[e]}),r}function Lr(t){var e=0;return t.forEach(function(r){e+=r}),e/t.length}function Ar(t){var e=t.slice().sort(function(l,n){return l-n}),r=Math.floor(e.length/2);return e.length%2?e[r]:(e[r-1]+e[r])/2}dt("histogram",Se);gt("histogram");function Or(t,e){var r=Math.min(t.length,e.length);if(r<2)return null;var l=0,n=0,i;for(i=0;i<r;i++)l+=t[i],n+=e[i];l/=r,n/=r;var o=0,s=0,f=0;for(i=0;i<r;i++)o+=(t[i]-l)*(t[i]-l),s+=(e[i]-n)*(e[i]-n),f+=(t[i]-l)*(e[i]-n);if(!o)return null;var u=f/o;return{slope:u,intercept:n-u*l,r:s?f/Math.sqrt(o*s):0}}function Ee(t,e){for(var r=Et(t.x),l=Et(t.y),n=$(t.series),i=$(t.labels),o=ht(t,e),s=[],f=0;f<Math.max(r.length,l.length);f++){var u=r[f]||[],v=l[f]||[],d=Math.min(u.length,v.length);s.push({xs:u.slice(0,d),ys:v.slice(0,d)})}s=s.filter(function(w){return w.xs.length});var c=s.reduce(function(w,g){return w+g.xs.length},0),M=W(t.height,210),k=s.length>1||n.length>0,V=j(t.trend),F=function(w){return n[w]||"Group "+(w+1)},L={decimals:t.decimals,compact:t.compact,lang:t.lang},b=_t(t,i),p=Nt(t.markers,re,"circle"),R=t.background||e.tile,S=function(w){var g=p?p(w):"circle";return g==="none"?"circle":g},x=p&&function(w,g,h){return ne(S(w),g+4,h+6,4,' fill="'+o[w%o.length]+'"')};return pt(t,e,M,function(w,g,h,O){if(!c)return mt(e,w,g,h,O);var y="",E=g;if(k){var N=Ut(s.map(function(A,_){return F(_)}),o,e,w,E,h,x);y+=N.svg,E+=N.height}var G=[].concat.apply([],s.map(function(A){return A.xs})),Z=[].concat.apply([],s.map(function(A){return A.ys})),Y=Math.min.apply(null,Z),Q=Math.max.apply(null,Z);T(t.goal)&&(Y=Math.min(Y,+t.goal),Q=Math.max(Q,+t.goal)),j(t.zero)&&(Y=Math.min(0,Y),Q=Math.max(0,Q));var ot=Jt(Y,Q,4),it=Jt(Math.min.apply(null,G),Math.max.apply(null,G),5),H=ot.ticks.map(function(A){return m(A,t,!0)}),et=Je(H)+(T(t.yLabel)?14:0),rt=20+(T(t.xLabel)?16:0),lt=w+et,st=h-et,z=O-(E-g)-rt,U=function(A){return lt+6+(A-it.lo)/(it.hi-it.lo)*(st-12)},B=function(A){return E+6+z-6-(A-ot.lo)/(ot.hi-ot.lo)*(z-6)};ot.ticks.forEach(function(A,_){var I=B(A);y+='<line x1="'+a(lt)+'" x2="'+a(lt+st)+'" y1="'+a(I)+'" y2="'+a(I)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+C(lt-8,I+3.5,H[_],D(e,10,'text-anchor="end"'))});var ft=Math.max(1,Math.ceil(it.ticks.length*44/st));if(it.ticks.forEach(function(A,_){if(!(_%ft)){var I=U(A);y+='<line x1="'+a(I)+'" x2="'+a(I)+'" y1="'+a(E)+'" y2="'+a(E+z)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+C(I,E+z+15,m(A,L,!0),D(e,10,'text-anchor="middle"'))}}),T(t.xLabel)&&(y+=C(lt+st/2,E+z+32,t.xLabel,D(e,10,'text-anchor="middle" font-weight="600"'))),T(t.yLabel)){var J=E+z/2;y+='<text x="'+a(w+4)+'" y="'+a(J)+'" transform="rotate(-90 '+a(w+4)+" "+a(J)+')" text-anchor="middle" '+D(e,10,'font-weight="600"')+' dominant-baseline="hanging">'+String(t.yLabel).replace(/[&<>"]/g,function(A){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[A]})+"</text>"}T(t.goal)&&(y+=It(t,e,lt,lt+st,B(+t.goal))),V&&s.forEach(function(A,_){var I=Or(A.xs,A.ys);if(I){var P=Math.min.apply(null,A.xs),q=Math.max.apply(null,A.xs),tt=I.slope*P+I.intercept,at=I.slope*q+I.intercept,Ct=o[_%o.length];y+='<line x1="'+a(U(P))+'" y1="'+a(nt(B(tt),E,E+z))+'" x2="'+a(U(q))+'" y2="'+a(nt(B(at),E,E+z))+'" stroke="'+Ct+'" stroke-width="2" stroke-dasharray="6 4" stroke-linecap="round" stroke-opacity=".9"/>',y+=C(Math.min(U(q),lt+st)-2,nt(B(at),E+10,E+z)-7,"r = "+I.r.toFixed(2),D(e,10,'text-anchor="end" font-weight="600"',Ct))}});var Mt=0,vt=c>150?3:4.5;s.forEach(function(A,_){var I=o[_%o.length];A.xs.forEach(function(P,q){var tt=U(P),at=B(A.ys[q]),Ct=(i[Mt]?i[Mt]+`
9
- `:k?F(_)+`
10
- `:"")+(T(t.xLabel)?t.xLabel:"x")+": "+m(P,L)+`
11
- `+(T(t.yLabel)?t.yLabel:"y")+": "+m(A.ys[q],t);y+=ne(S(_),tt,at,vt,' fill="'+I+'" fill-opacity=".85" stroke="'+R+'" stroke-width="1.5"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Math.min(.8,Mt*.012))+'s"':"")),y+=zt(tt-8,at-8,16,16,Ct),Mt++})});var K=[];return s.forEach(function(A){A.xs.forEach(function(_,I){K.push([U(_),B(A.ys[I])])})}),b.forEach(function(A){var _=K[A.i];_&&(y+='<circle cx="'+a(_[0])+'" cy="'+a(_[1])+'" r="'+(vt+4)+'" fill="none" stroke="'+e.fg+'" stroke-width="1.5"/>'+C(nt(_[0],lt+30,lt+st-30),_[1]-vt-9,A.text,D(e,10,'text-anchor="middle"',e.fg)))}),y},{summary:c+" points"+(k?" in "+s.length+" groups":"")})}Ee.table=function(t){var e=Et(t.x),r=Et(t.y),l=$(t.series),n=$(t.labels),i=e.length>1||l.length>0,o={decimals:t.decimals,compact:t.compact,lang:t.lang},s=[],f=0;return e.forEach(function(u,v){for(var d=r[v]||[],c=0;c<Math.min(u.length,d.length);c++,f++)s.push([n[f]||"#"+(f+1)].concat(i?[l[v]||"Group "+(v+1)]:[],[m(u[c],o),m(d[c],t)]))}),{head:["Point"].concat(i?["Group"]:[],[T(t.xLabel)?t.xLabel:"x",T(t.yLabel)?t.yLabel:"y"]),rows:s}};dt("scatter",Ee);gt("scatter");function ze(t,e){var r=ct(t.values),l=$(t.labels),n=ht(t,e),i=W(t.max,100)||100,o=W(t.height,140),s=!T(t.prefix)&&!T(t.suffix)&&i===100,f=function(v){return m(v,t)+(s?"%":"")},u=Ot(r,t,"");return pt(t,e,o,function(v,d,c,M){if(!r.length)return mt(e,v,d,c,M);var k="",V=r.length===1,F=Math.min(M,V?c:c*.55),L=V?v+c/2:v+F/2,b=d+M/2,p=V?F*.12:nt(F*.42/(r.length*1.35),5,16),R=p*.38;if(r.forEach(function(g,h){var O=F/2-p/2-h*(p+R);if(!(O<=p/2)){var y=nt(g/i*100,0,100),E=n[h%n.length];k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O)+'" fill="none" stroke="'+E+'" stroke-opacity=".16" stroke-width="'+a(p)+'"/>',y>0&&(k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O)+'" fill="none" stroke="'+E+'" stroke-width="'+a(p)+'" stroke-linecap="round" pathLength="100" transform="rotate(-90 '+a(L)+" "+a(b)+')" style="stroke-dasharray:'+a(y)+" 100"+(t.animate?";animation-delay:"+h*.12+"s":"")+'"'+(t.animate?' class="bzc-s"':"")+"/>"),k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O+p/2)+'" fill="#000" fill-opacity="0" class="bzc-hit" data-tip="'+bt((l[h]||"#"+(h+1))+": "+f(g)+(s?"":" of "+m(i,t)))+'"/>'}}),V)k+=C(L,b+F*.08,f(r[0]),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(F*.22)+'" font-weight="800"'),l[0]&&(k+=C(L,b+F*.08+16,l[0],D(e,10,'text-anchor="middle"')));else{var S=v+F+22,x=Math.min(26,M/r.length),w=b-x*r.length/2;r.forEach(function(g,h){var O=w+h*x+x/2;k+='<circle cx="'+a(S+4)+'" cy="'+a(O)+'" r="4" fill="'+n[h%n.length]+'"/>'+C(S+14,O+4,Kt(l[h]||"#"+(h+1),Math.floor((v+c-S-60)/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')+C(v+c,O+4,f(g),'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"')})}return k},{stat:u,summary:r.map(function(v,d){return(l[d]?l[d]+" ":"")+f(v)}).join(", ")})}ze.table=function(t){var e=$(t.labels),r=W(t.max,100)||100,l=!T(t.prefix)&&!T(t.suffix)&&r===100;return{head:["Label","Value"],rows:ct(t.values).map(function(n,i){return[e[i]||"#"+(i+1),m(n,t)+(l?"%":" of "+m(r,t))]})}};dt("ring",ze);gt("ring");function Le(t,e){var r=ct(t.values).map(function(c){return Math.max(0,c)}),l=$(t.labels),n=ht(t,e),i=r.slice(),o=l.slice();if(i.length>6){var s=i.map(function(c,M){return M}).sort(function(c,M){return r[M]-r[c]}),f=s.slice(0,5).sort(function(c,M){return c-M});i=f.map(function(c){return r[c]}),o=f.map(function(c){return l[c]||"#"+(c+1)}),i.push(Bt(s.slice(5).map(function(c){return r[c]}))),o.push("Other")}var u=Bt(i),v=W(t.height,150),d=Ot(i,t,"");return pt(t,e,v,function(c,M,k,V){if(!u)return mt(e,c,M,k,V);var F="",L=Math.min(V,k*.5),b=c+L/2,p=M+V/2,R=L*.16,S=(L-R)/2,x=0,w=i.filter(Boolean).length>1?.9:0;i.forEach(function(y,E){var N=y/u*100;if(!(N<=0)){var G=Math.max(.01,N-w);F+='<circle cx="'+a(b)+'" cy="'+a(p)+'" r="'+a(S)+'" fill="none" stroke="'+n[E%n.length]+'" stroke-width="'+a(R)+'" pathLength="100" stroke-dasharray="'+a(G)+" "+a(100-G)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(b)+" "+a(p)+')"'+ut(t,"bzc-a",E*.08)+"/>",x+=N}}),F+=C(b,p+2,m(u,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(L*.17)+'" font-weight="800"'),F+=C(b,p+2+14,(T(t.centerLabel)?t.centerLabel:"Total").toUpperCase(),D(e,9,'text-anchor="middle" letter-spacing="1"'));var g=c+L+22,h=Math.min(24,V/i.length),O=p-h*i.length/2;return i.forEach(function(y,E){var N=O+E*h+h/2,G=Math.round(y/u*100),Z=(o[E]||"#"+(E+1))+": "+m(y,t)+" ("+G+"%)";F+='<circle cx="'+a(g+4)+'" cy="'+a(N)+'" r="4" fill="'+n[E%n.length]+'"/>'+C(g+14,N+4,Kt(o[E]||"#"+(E+1),Math.floor((c+k-g-50)/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')+C(c+k,N+4,G+"%",'text-anchor="end" fill="'+e.muted+'" font-family="'+St+'" font-size="11" font-weight="600"')+zt(g,N-h/2,c+k-g,h,Z)}),x=0,i.forEach(function(y,E){var N=y/u*100;N<=0||(F+='<circle cx="'+a(b)+'" cy="'+a(p)+'" r="'+a(S)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+a(R)+'" pathLength="100" stroke-dasharray="'+a(N)+" "+a(100-N)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(b)+" "+a(p)+')" class="bzc-hit" data-skip="" data-tip="'+bt((o[E]||"#"+(E+1))+": "+m(y,t)+" ("+Math.round(N)+"%)")+'"/>',x+=N)}),F},{stat:d,summary:"total "+m(u,t)+" across "+i.length+" parts"})}Le.table=function(t){var e=ct(t.values).map(function(n){return Math.max(0,n)}),r=$(t.labels),l=Bt(e);return{head:["Label","Value","Share"],rows:e.map(function(n,i){return[r[i]||"#"+(i+1),m(n,t),(l?Math.round(n/l*100):0)+"%"]})}};dt("donut",Le);gt("donut");function Ae(t,e){var r=ct(t.values),l=r.length?r[0]:W(t.value,NaN),n=$(t.labels),i=W(t.min,0),o=W(t.max,100),s=W(t.height,130);o===i&&(o=i+1);var f=ct(t.zones),u=ht(t,e),v=$(t.color).filter(Boolean).length>1?u:[e.up,e.palette[3],e.down],d=u[0];if(f.length&&isFinite(l)){for(var c=0;c<f.length&&l>=f[c];)c++;d=v[Math.min(c,v.length-1)]}var M=!T(t.prefix)&&!T(t.suffix)&&i===0&&o===100,k=function(V){return m(V,t)+(M?"%":"")};return pt(t,e,s,function(V,F,L,b){if(!isFinite(l))return mt(e,V,F,L,b);var p=Math.min(L/2,b-22),R=p*.16,S=p-R/2,x=V+L/2,w=F+p,g=nt((l-i)/(o-i),0,1),h=function(Y,Q){var ot=Math.PI*(1-Y);return[x+Q*Math.cos(ot),w-Q*Math.sin(ot)]},O="M"+a(x-S)+","+a(w)+"A"+a(S)+","+a(S)+" 0 0 1 "+a(x+S)+","+a(w),y='<path d="'+O+'" fill="none" stroke="'+d+'" stroke-opacity=".16" stroke-width="'+a(R)+'" stroke-linecap="round"/>';f.length&&f.forEach(function(Y){var Q=nt((Y-i)/(o-i),0,1),ot=h(Q,S-R/2-3),it=h(Q,S-R/2-8);y+='<line x1="'+a(ot[0])+'" y1="'+a(ot[1])+'" x2="'+a(it[0])+'" y2="'+a(it[1])+'" stroke="'+e.muted+'" stroke-width="1.5"/>'}),g>0&&(y+='<path d="'+O+'" fill="none" stroke="'+d+'" stroke-width="'+a(R)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(g*100)+' 100"'+ut(t,"bzc-s")+"/>");var E=h(g,S);if(y+='<circle cx="'+a(E[0])+'" cy="'+a(E[1])+'" r="'+a(R*.26)+'" fill="'+(t.background||e.tile)+'"'+ut(t,"bzc-a",.9)+"/>",T(t.goal)){var N=nt((+t.goal-i)/(o-i),0,1),G=h(N,S+R/2+4),Z=h(N,S-R/2-4);y+='<line x1="'+a(G[0])+'" y1="'+a(G[1])+'" x2="'+a(Z[0])+'" y2="'+a(Z[1])+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return y+=C(x,w-p*.12,k(l),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(p*.34)+'" font-weight="800"'),n[0]&&(y+=C(x,w-p*.12+16,n[0],D(e,10,'text-anchor="middle"'))),y+=C(x-S,w+18,m(i,t,!0),D(e,10,'text-anchor="middle"'))+C(x+S,w+18,m(o,t,!0),D(e,10,'text-anchor="middle"')),y+=zt(x-p,w-p,p*2,p,(n[0]?n[0]+": ":"")+k(l)+" (range "+m(i,t)+" to "+m(o,t)+")"+(T(t.goal)?`
12
- Goal: `+m(+t.goal,t):"")),y},{summary:isFinite(l)?k(l)+" on a scale of "+m(i,t)+" to "+m(o,t):"no data"})}Ae.table=function(t){var e=ct(t.values),r=e.length?e[0]:W(t.value,NaN),l=$(t.labels),n=W(t.min,0),i=W(t.max,100),o=!T(t.prefix)&&!T(t.suffix)&&n===0&&i===100;return isFinite(r)?{head:["Label","Value"],rows:[[l[0]||"Reading",m(r,t)+(o?"%":"")],["Lowest",m(n,t)],["Highest",m(i,t)]].concat(T(t.goal)?[["Goal",m(+t.goal,t)]]:[])}:{head:["Label","Value"],rows:[]}};dt("gauge",Ae);gt("gauge");function Oe(t,e){var r=ct(t.values).map(function(L){return Math.max(0,L)}),l=$(t.labels),n=ht(t,e),i=r.length===1,o=Bt(r),s=T(t.max)?W(t.max,100):i?100:o;s>0||(s=1);var f=!T(t.prefix)&&!T(t.suffix)&&s===100&&i,u=function(L){return m(L,t)+(f?"%":"")},v=qt(t),d=v.w,c=0,M=[];if(!i&&r.length){var k=0;c=1,r.forEach(function(L,b){var p=l[b]||"#"+(b+1),R=14+wt(p,12)+6+wt(m(L,t),11,!0)+18;k>0&&k+R>d&&(k=0,c++),M.push({x:k,row:c-1,l:p}),k+=R})}var V=36+(c?12+c*20:0),F=Ot(r,t,"");return pt(t,e,V,function(L,b,p,R){if(!r.length)return mt(e,L,b,p,R);var S="",x=b+22,w=Vt("c"),g=i?u(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t);i&&l[0]&&(S+=C(L,b+11,l[0],'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')),S+=C(L+p,b+11,g,'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"'),S+='<rect x="'+L+'" y="'+x+'" width="'+p+'" height="14" rx="7" fill="'+e.grid+'" fill-opacity=".7"/>',S+='<clipPath id="'+w+'"><rect x="'+L+'" y="'+x+'" width="'+p+'" height="14" rx="7"/></clipPath><g clip-path="url(#'+w+')"><g'+ut(t,"bzc-gx")+">";var h=0;if(r.forEach(function(y,E){var N=Math.min(y,Math.max(0,s-h))/s*p;N>0&&(S+='<rect x="'+a(L+h/s*p)+'" y="'+x+'" width="'+a(N)+'" height="14" fill="'+n[E%n.length]+'"/>'),E>0&&N>0&&(S+='<rect x="'+a(L+h/s*p-1)+'" y="'+x+'" width="2" height="14" fill="'+(t.background||e.tile)+'"/>'),h+=y}),S+="</g></g>",T(t.goal)){var O=L+nt(+t.goal/s,0,1)*p;S+='<line x1="'+a(O)+'" x2="'+a(O)+'" y1="'+(x-4)+'" y2="'+(x+18)+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return h=0,r.forEach(function(y,E){var N=Math.min(y,Math.max(0,s-h))/s*p;N>0&&(S+=zt(L+h/s*p,x-4,N,22,(l[E]||(i?"Progress":"#"+(E+1)))+": "+u(y)+(i?"":" ("+Math.round(y/s*100)+"%)"))),h+=y}),M.forEach(function(y,E){var N=L+y.x,G=x+14+12+y.row*20+8;S+='<circle cx="'+a(N+4)+'" cy="'+a(G)+'" r="4" fill="'+n[E%n.length]+'"/><text x="'+a(N+14)+'" y="'+a(G+4)+'" fill="'+e.fg+'" font-family="'+yt+'" font-size="12">'+bt(y.l)+'<tspan dx="6" fill="'+e.muted+'" font-family="'+St+'" font-size="11">'+bt(m(r[E],t))+"</tspan></text>"}),S},{stat:F,summary:i?u(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t)})}Oe.table=function(t){var e=ct(t.values).map(function(o){return Math.max(0,o)}),r=$(t.labels),l=e.length===1,n=T(t.max)?W(t.max,100):l?100:Bt(e);n>0||(n=1);var i=!T(t.prefix)&&!T(t.suffix)&&n===100&&l;return l?{head:["Label","Value"],rows:[[r[0]||"Progress",m(e[0],t)+(i?"%":" of "+m(n,t))]]}:{head:["Label","Value","Share"],rows:e.map(function(o,s){return[r[s]||"#"+(s+1),m(o,t),Math.round(o/n*100)+"%"]})}};dt("progress",Oe);gt("progress");var ar={weekday:"short",day:"numeric",month:"short",year:"numeric"};function nr(t,e){if(T(t.start)&&/^\d{4}-\d{2}-\d{2}$/.test(String(t.start)))return new Date(String(t.start)+"T00:00:00Z");var r=new Date;return new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())-Math.max(0,e-1)*864e5)}function ir(t,e){try{return new Intl.DateTimeFormat(t,Object.assign({timeZone:"UTC"},e))}catch{return new Intl.DateTimeFormat("en-GB",Object.assign({timeZone:"UTC"},e))}}function Te(t,e){var r=ct(t.values),l=ht(t,e)[0],n=t.lang||"en-GB",i=nr(t,r.length),o=(i.getUTCDay()+6)%7,s=Math.max(1,Math.ceil((o+r.length)/7)),f=qt(t),u=28,v=Math.max(1,Math.floor((f.w-u)/10));if(s>v){var d=(s-v)*7-o;r=r.slice(d),i=new Date(i.getTime()+d*864e5),o=0,s=v}var c=Math.min(18,(f.w-u)/s),M=c<8?1:3,k=c-M,V=16+7*c+26,F=r.length?Math.max.apply(null,r):0,L=function(x){return ir(n,x)},b=L({month:"short"}),p=L({weekday:"short"}),R=L(ar),S=Ot(r,t,"");return pt(t,e,V,function(x,w,g,h){if(!r.length)return mt(e,x,w,g,h);var O="",y=x+u,E=w+16,N=-99,G=[.28,.5,.75,1];c>=9&&[0,2,4].forEach(function(J){var Mt=new Date(Date.UTC(2024,0,1+J));O+=C(x,E+J*c+k/2+3.5,p.format(Mt),D(e,9))});for(var Z=0;Z<r.length;Z++){var Y=o+Z,Q=Math.floor(Y/7),ot=Y%7,it=new Date(i.getTime()+Z*864e5),H=y+Q*c,et=E+ot*c;(it.getUTCDate()===1||Z===0)&&H-N>30&&(O+=C(H,w+9,b.format(it),D(e,9)),N=H);var rt=r[Z]<=0||!F?0:Math.ceil(r[Z]/F*4),lt=rt?l:e.grid,st=rt?G[rt-1]:.7;O+='<rect x="'+a(H)+'" y="'+a(et)+'" width="'+a(k)+'" height="'+a(k)+'" rx="'+a(k*.24)+'" fill="'+lt+'" fill-opacity="'+st+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Q*.012)+'s"':"")+' data-tip="'+bt(R.format(it)+": "+m(r[Z],t))+'"/>'}var z=E+7*c+14,U=10,B=x+g-5*(U+3)-30;O+=C(x,z+8,m(Bt(r),t,!0)+" in "+r.length+" days",D(e,10)),O+=C(B-6,z+8,"Less",D(e,9,'text-anchor="end"'));for(var ft=0;ft<5;ft++)O+='<rect x="'+a(B+ft*(U+3))+'" y="'+z+'" width="'+U+'" height="'+U+'" rx="2.5" fill="'+(ft?l:e.grid)+'" fill-opacity="'+(ft?G[ft-1]:.7)+'"/>';return O+=C(B+5*(U+3)+3,z+8,"More",D(e,9)),O},{stat:S,summary:m(Bt(r),t)+" across "+r.length+" days"})}Te.table=function(t){var e=ct(t.values),r=nr(t,e.length),l=ir(t.lang||"en-GB",ar);return{head:["Date","Value"],rows:e.map(function(n,i){return[l.format(new Date(r.getTime()+i*864e5)),m(n,t)]})}};dt("heatmap",Te);gt("heatmap");var Tr="1.5.0",Cr=pe.slice();return gr(Fr);})();
1
+ /*! Bezel Charts v1.6.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
2
+ var BezelCharts=(()=>{var He=Object.defineProperty;var pr=Object.getOwnPropertyDescriptor;var dr=Object.getOwnPropertyNames;var gr=Object.prototype.hasOwnProperty;var vr=(t,e)=>{for(var r in e)He(t,r,{get:e[r],enumerable:!0})},xr=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of dr(e))!gr.call(t,n)&&n!==r&&He(t,n,{get:()=>e[n],enumerable:!(l=pr(e,n))||l.enumerable});return t};var yr=t=>xr(He({},"__esModule",{value:!0}),t);var Vr={};vr(Vr,{BezelChart:()=>Lt,render:()=>zt,themes:()=>jt,toSVG:()=>Ct,types:()=>Rr,version:()=>Gr});var Mt="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",Ot="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",br=0;function Rt(t){return"bzc"+t+(++br).toString(36)+Math.random().toString(36).slice(2,6)}function kt(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]})}function a(t){return Math.round(t*100)/100}function st(t,e,r){return Math.max(e,Math.min(r,t))}function Z(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function G(t){return t!=null&&t!==""}function gt(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):G(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function q(t){return Array.isArray(t)?t.map(String):G(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function wt(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(gt):[gt(t)]:G(t)?String(t).split("|").map(gt).filter(function(e){return e.length}):[]}function Vt(t){return t.reduce(function(e,r){return e+r},0)}function vt(t,e,r){return String(t).length*e*(r?.6:.56)}function qt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function nt(t){return t===!0||t===""||t==="true"||t==="1"}function p(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),n;G(e.decimals)?n=st(parseInt(e.decimals,10)||0,0,6):n=t%1===0?0:l<10?2:l<100?1:0;var i={maximumFractionDigits:n,minimumFractionDigits:G(e.decimals)?n:0};(nt(e.compact)||r)&&l>=1e4&&(i={notation:"compact",maximumFractionDigits:1});var o;try{o=new Intl.NumberFormat(e.lang||"en-GB",i).format(l)}catch{o=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+o+(e.suffix||"")}function Yt(t,e){if(!t.length)return"";for(var r="M"+a(t[0][0])+","+a(t[0][1]),l=1;l<t.length;l++){var n=t[l-1],i=t[l];if(e)r+="L"+a(i[0])+","+a(i[1]);else{var o=(n[0]+i[0])/2;r+="C"+a(o)+","+a(n[1])+" "+a(o)+","+a(i[1])+" "+a(i[0])+","+a(i[1])}}return r}function F(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+kt(r)+"</text>"}function D(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+Ot+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function St(t,e,r,l,n){return'<rect class="bzc-hit" x="'+a(t)+'" y="'+a(e)+'" width="'+a(Math.max(1,r))+'" height="'+a(Math.max(1,l))+'" fill="#000" fill-opacity="0" data-tip="'+kt(n)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ct(t,e){var r=q(t.color).filter(Boolean);return r.length?r:e.palette}function ht(t,e,r,l,n){return F(e+l/2,r+n/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+Mt+'" font-size="13"')}function Xt(t,e){return G(t.notes)?String(t.notes).split(";").map(function(r){var l=r.indexOf(":");if(l<0)return null;var n=r.slice(0,l).trim(),i=r.slice(l+1).trim(),o=e.map(String).indexOf(n);return o<0&&String(parseInt(n,10))===n&&(o=parseInt(n,10)),o>=0&&i?{i:o,text:i}:null}).filter(Boolean):[]}function Ht(t,e,r,l,n){var i=(G(t.goalLabel)?t.goalLabel:"Goal")+" "+p(Z(t.goal,0),t);return'<line x1="'+a(r)+'" x2="'+a(l)+'" y1="'+a(n)+'" y2="'+a(n)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-width="1.25" stroke-dasharray="4 4"/>'+F(l,n-5,i,D(e,10,'text-anchor="end"'))}function At(t,e,r){var l=String(G(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var n=Vt(t),i={last:t[t.length-1],total:n,sum:n,average:n/t.length,avg:n/t.length,max:Math.max.apply(null,t),min:Math.min.apply(null,t)};if(!(l in i))return null;var o=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(o=t[t.length-1]-t[0]),{val:i[l],delta:o}}function Jt(t){var e=Math.round(st(Z(t.width,360),160,2400)),r=t.frame==="none"?0:4,l=t.frame==="none"?8:20;return{W:e,b:r,P:l,w:e-2*(r+l)}}var Mr=".bzc-a{animation:bzc-in .6s ease both}.bzc-d{animation:bzc-draw 1.1s cubic-bezier(.3,.7,.2,1) both}.bzc-g{transform-box:fill-box;transform-origin:50% 100%;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gn{transform-box:fill-box;transform-origin:50% 0;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gx{transform-box:fill-box;transform-origin:0 50%;animation:bzc-growx .8s cubic-bezier(.2,.8,.2,1) both}.bzc-s{animation:bzc-sweep 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes bzc-in{from{opacity:0}}@keyframes bzc-draw{from{stroke-dashoffset:1}}@keyframes bzc-grow{from{transform:scaleY(0)}}@keyframes bzc-growx{from{transform:scaleX(0)}}@keyframes bzc-sweep{from{stroke-dasharray:0 100}}@media (prefers-reduced-motion:reduce){[class^=bzc-]{animation:none!important}}";function mt(t,e,r,l,n){var i=Jt(t),o=i.W,s=i.b,f=i.P,c=i.w,v=st(Z(t.corners,22),0,60),d=s+f,u="";G(t.heading)&&(u+=F(s+f,d+10,String(t.heading).toUpperCase(),D(e,11,'font-weight="600" letter-spacing="1.3"')),d+=24);var O=n&&n.stat;if(O){if(u+=F(s+f,d+30,p(O.val,t),'fill="'+e.fg+'" font-family="'+Mt+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),O.delta!=null){var T=O.delta>0,R=O.delta===0,A=t.delta==="inverse"?!T:T,C=R?e.muted:A?e.up:e.down,S=(R?"\u25CF ":T?"\u25B2 ":"\u25BC ")+p(Math.abs(O.delta),t)+" "+(G(t.deltaLabel)?t.deltaLabel:"since start");u+=F(s+f+c,d+28,S,'text-anchor="end" fill="'+C+'" font-family="'+Ot+'" font-size="11" font-weight="600"')}d+=44}var g=l(s+f,d,c,r),V=Math.round(d+r+f+s),k="";t.frame!=="none"?k='<rect width="'+o+'" height="'+V+'" rx="'+v+'" fill="'+e.bezel+'"/><rect x="'+s+'" y="'+s+'" width="'+(o-2*s)+'" height="'+(V-2*s)+'" rx="'+Math.max(0,v-s)+'" fill="'+(t.background||e.tile)+'"/>':G(t.background)&&(k='<rect width="'+o+'" height="'+V+'" rx="'+v+'" fill="'+t.background+'"/>');var x=(G(t.heading)?t.heading+": ":"")+(n&&n.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+o+" "+V+'" width="'+o+'" height="'+V+'" role="img" aria-label="'+kt(x)+'"><title>'+kt(x)+"</title>"+(t.animate?"<style>"+Mr+"</style>":"")+k+u+g+"</svg>"}function me(t,e){var r=gt(t.values),l=ct(t,e)[0],n=Z(t.height,64),i=q(t.labels),o=Xt(t,i),s=At(r,t,"last");return mt(t,e,n,function(f,c,v,d){if(!r.length)return ht(e,f,c,v,d);var u=r.length===1?[r[0],r[0]]:r,O=Math.min.apply(null,u),T=Math.max.apply(null,u);G(t.goal)&&(O=Math.min(O,+t.goal),T=Math.max(T,+t.goal));var R=(T-O||Math.abs(T)||1)*.12;O-=R,T+=R;var A=function(y){return f+y*v/(u.length-1)},C=function(y){return c+d-(y-O)/(T-O)*d},S=u.map(function(y,m){return[A(m),C(y)]}),g=Yt(S,nt(t.straight)),V=Rt("g"),k=S[S.length-1],x='<defs><linearGradient id="'+V+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+l+'" stop-opacity=".32"/><stop offset="1" stop-color="'+l+'" stop-opacity="0"/></linearGradient></defs>';[1/3,2/3].forEach(function(y){x+='<line x1="'+f+'" x2="'+(f+v)+'" y1="'+a(c+d*y)+'" y2="'+a(c+d*y)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),x+='<path d="'+g+"L"+a(k[0])+","+(c+d)+"L"+f+","+(c+d)+'Z" fill="url(#'+V+')"'+ut(t,"bzc-a")+"/>",x+='<path d="'+g+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+ut(t,"bzc-d")+"/>",G(t.goal)&&(x+=Ht(t,e,f,f+v,C(+t.goal))),o.forEach(function(y){if(!(y.i>=r.length)){var m=S[y.i];x+='<circle cx="'+a(m[0])+'" cy="'+a(m[1])+'" r="3.5" fill="'+e.fg+'"/>'+F(st(m[0],f+30,f+v-30),m[1]-9,y.text,D(e,10,'text-anchor="middle"',e.fg))}}),x+='<circle cx="'+a(k[0])+'" cy="'+a(k[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(k[0])+'" cy="'+a(k[1])+'" r="4.5" fill="'+l+'"/>',nt(t.showValues)&&S.forEach(function(y,m){m<r.length&&(x+=F(y[0],y[1]-8,p(r[m],t,!0),D(e,9,'text-anchor="middle"')))});var E=r.length>1?v/(r.length-1):v;return r.forEach(function(y,m){x+=St(A(m)-E/2,c-6,E,d+12,(i[m]||"#"+(m+1))+": "+p(y,t))}),x},{stat:s,summary:r.length?"latest "+p(r[r.length-1],t):"no data"})}me.table=function(t){var e=q(t.labels);return{head:["Label","Value"],rows:gt(t.values).map(function(r,l){return[e[l]||"#"+(l+1),p(r,t)]})}};var jt={dark:{tile:"#15151d",bezel:"#000000",fg:"#f2f1f7",muted:"#8c8aa0",grid:"#2a2935",up:"#5EE6C8",down:"#F675A8",palette:["#9FA1FF","#F675A8","#5EE6C8","#FFC857","#7CC4FF","#FF8A5B"]},light:{tile:"#ffffff",bezel:"#000000",fg:"#17161f",muted:"#6b6980",grid:"#e8e6ef",up:"#12a383",down:"#d63f7c",palette:["#6E70F0","#E2508C","#16A884","#D99A0E","#2F8FE0","#EE6431"]}};var pe=["spark","line","area","bars","histogram","boxplot","scatter","ring","donut","gauge","progress","heatmap"],de={};function pt(t,e){de[t]=e}var kr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function Qe(t,e){if(!de[t])throw new Error(pe.includes(t)?`Bezel Charts: the ${t} chart isn't loaded. Add import 'bezel-charts/${t}', or load dist/charts/${t}.js.`:`Bezel Charts: unknown chart type "${t}". Choose one of: ${pe.join(", ")}.`);let r={};for(let[l,n]of Object.entries(e))r[kr(l)]=n;return r}function zt(t,e={}){let r=Qe(t,e);r.animate=nt(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return de[t](r,jt[l])}function Je(t,e={}){return de[t].table(Qe(t,e))}function Pe(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Ct(t,e={}){return Pe(zt(t,{...e,animate:!1}))}var je=["type","values","labels","series","heading","prefix","suffix","decimals","compact","color","theme","frame","width","height","goal","goal-label","notes","show-values","stat","delta","delta-label","max","min","value","zones","horizontal","straight","zero","start","lang","corners","background","center-label","highlight","x","y","x-label","y-label","trend","static","no-tooltips","stacked","angle-labels","dash","markers","patterns","bins","bin-width","mark","percent","whiskers"],wr=`:host{display:block;position:relative;max-width:100%}:host([hidden]){display:none}svg{display:block;max-width:100%;height:auto;overflow:visible}.tip{position:absolute;left:0;top:0;pointer-events:none;background:#0b0b10;color:#f2f1f7;font:600 12px/1.5 ${Ot};padding:7px 10px;border-radius:10px;white-space:pre;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .12s;z-index:3;border:1px solid #2a2935;box-shadow:0 8px 24px rgba(0,0,0,.35)}.tip.on{opacity:1}.c{outline:none}.c:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #000}.k{stroke:currentColor;stroke-width:2;stroke-opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (forced-colors:active){.c:focus-visible{outline-color:Highlight}}`,Sr={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},Er=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,zr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},De=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>De.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var Lr=typeof HTMLElement>"u"?class{}:HTMLElement,Lt=class extends Lr{static get observedAttributes(){return je}static get themes(){return jt}get resolvedTheme(){let e=this.getAttribute("theme");return e==="light"||e==="dark"?e:this.options.autoTheme}get chartType(){return this.getAttribute("type")||"spark"}connectedCallback(){this.shadowRoot||(this.attachShadow({mode:"open"}).innerHTML=`<style>${wr}</style><div class="c" role="group" aria-roledescription="chart"></div><p class="sr" id="h">Use the arrow keys to step through the values.</p><div class="tip" aria-hidden="true"></div><div class="sr" aria-live="polite"></div><div class="sr"></div>`,[,this.#t,,this.#r,this.#o,this.#u]=this.shadowRoot.children,this.shadowRoot.addEventListener("pointermove",e=>this.#h(e)),this.shadowRoot.addEventListener("pointerdown",e=>this.#h(e)),this.addEventListener("pointerleave",()=>this.#r.classList.remove("on")),this.#t.addEventListener("keydown",e=>this.#v(e)),this.#t.addEventListener("blur",()=>this.#g())),De.add(this),this.#a=Er(),this.#a?.addEventListener?.("change",this.#c),typeof ResizeObserver=="function"?(this.#l=new ResizeObserver(([e])=>{let r=Math.round(e.contentRect.width);(!this.#n||!this.hasAttribute("width")&&r>0&&Math.abs(r-this.#s)>1)&&this.#i()}),this.#l.observe(this)):this.#i()}disconnectedCallback(){De.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#c)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of je)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=zr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return Pe(zt(this.chartType,{...this.options,...e,animate:!1}))}download(e){let r=URL.createObjectURL(new Blob([this.toSVG()],{type:"image/svg+xml"})),l=Object.assign(document.createElement("a"),{href:r,download:`${(e||this.getAttribute("heading")||this.chartType).replace(/[^\w-]+/g,"-").toLowerCase()}.svg`});document.body.append(l),l.click(),l.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}#l=null;#t=null;#r=null;#o=null;#u=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#c=()=>{let e=this.getAttribute("theme");(!e||e==="auto")&&this.refresh()};#i(){if(!this.shadowRoot)return;let e=Math.round(this.getBoundingClientRect?.().width||0);this.#s=e>0?e:360;let r=this.options;r.animate=!this.#n&&!this.hasAttribute("static");let l,n=null;try{l=zt(this.chartType,r),n=Je(this.chartType,r)}catch(f){l=`<p style="font:13px ${Mt};color:#d63f7c">${kt(f.message)}</p>`}let i=this.#t;i.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let o=i.querySelector("svg");o?(i.setAttribute("aria-label",o.getAttribute("aria-label")),o.removeAttribute("role"),o.removeAttribute("aria-label"),o.setAttribute("aria-hidden","true")):i.removeAttribute("aria-label");let s=!!o&&!this.hasAttribute("no-tooltips");s?(i.setAttribute("tabindex","0"),i.setAttribute("aria-describedby","h")):(i.removeAttribute("tabindex"),i.removeAttribute("aria-describedby")),i.style.color=jt[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,i.style.borderRadius=`${r.frame==="none"?4:st(+r.corners||22,0,60)}px`,this.#u.innerHTML=n&&n.rows.length?Or(r.heading,n):"",this.#e>=0&&s&&this.shadowRoot.activeElement===i?this.#d(this.#e):this.#e=-1,this.#n=!0,this.dispatchEvent(new CustomEvent("bezel-render",{bubbles:!0}))}#h(e){if(this.hasAttribute("no-tooltips"))return;let r=e.target?.closest?.("[data-tip]");if(!r){this.#r.classList.remove("on");return}this.#m(r,e.clientX,e.clientY)}#m(e,r,l){let n=this.#r;n.textContent=e.getAttribute("data-tip");let i=this.getBoundingClientRect?.()||{left:0,top:0,width:0},o=n.offsetWidth/2;n.style.left=`${st(r-i.left,o,Math.max(o,i.width-o))}px`,n.style.top=`${l-i.top}px`,n.classList.add("on")}#p(){return[...this.#t.querySelectorAll("[data-tip]:not([data-skip])")]}#v(e){let r=this.#p(),l=r.length;if(!l)return;let n=this.#e,i=Sr[e.key];if(i)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(i*=7),n=n<0?i>0?0:l-1:st(n+i,0,l-1);else if(e.key==="Home"||e.key==="End")n=e.key==="Home"?0:l-1;else{e.key==="Escape"&&this.#g();return}e.preventDefault(),this.#d(n,!0)}#d(e,r){let l=this.#p();if(!l.length)return;e=st(e,0,l.length-1),this.#t.querySelector(".k")?.classList.remove("k");let n=l[e],i=n.getBoundingClientRect?.()||{left:0,top:0,width:0};n.classList.add("k"),this.#e=e,this.#m(n,i.left+i.width/2,i.top),r&&(this.#o.textContent=`${n.getAttribute("data-tip").replace(/\n/g,", ")}. ${e+1} of ${l.length}`)}#g(){this.#t.querySelector(".k")?.classList.remove("k"),this.#r.classList.remove("on"),this.#o.textContent="",this.#e=-1}};function Or(t,{head:e,rows:r}){let l=n=>n.map((i,o)=>o?`<td>${kt(i)}</td>`:`<th scope="row">${kt(i)}</th>`).join("");return`<table><caption>${kt(t||"Chart data")}</caption><thead><tr>${e.map(n=>`<th scope="col">${kt(n)}</th>`).join("")}</tr></thead><tbody>${r.map(n=>`<tr>${l(n)}</tr>`).join("")}</tbody></table>`}function dt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends Lt{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends Lt{}))}pt("spark",me);dt("spark");function It(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var n=(e-t)/(r||4),i=Math.pow(10,Math.floor(Math.log10(n))),o=n/i,s=(o<=1?1:o<=2?2:o<=5?5:10)*i,f=Math.floor(t/s)*s,c=Math.ceil(e/s)*s,v=[],d=f;d<=c+s/2;d+=s)v.push(+d.toFixed(10));return{lo:f,hi:c,ticks:v}}function _t(t,e,r,l,n,i,o,s){var f=l,c=n,v="",d=s||13;return t.forEach(function(u,O){var T=d+vt(u,12)+16;f>l&&f+T-16>l+i&&(f=l,c+=20),v+=(o?o(O,f,c):'<circle cx="'+a(f+4)+'" cy="'+a(c+6)+'" r="4" fill="'+e[O%e.length]+'"/>')+F(f+d,c+10,u,'fill="'+r.fg+'" font-family="'+Mt+'" font-size="12"'),f+=T}),{svg:v,height:c-n+24}}var Wt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},ae=["circle","square","triangle","diamond"],ne=["solid","stripes","dots","grid"];function Nt(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:q(t).map(function(n){return e.indexOf(n)<0?r:n});return l.length?function(n){return l[n%l.length]}:null}function Zt(t,e,r,l,n){var i=l*1.15,o=l*.85;return t==="square"?'<rect x="'+a(e-o)+'" y="'+a(r-o)+'" width="'+a(2*o)+'" height="'+a(2*o)+'" rx="1"'+n+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-i)+"L"+a(e+i)+","+a(r+o)+"L"+a(e-i)+","+a(r+o)+'Z"'+n+"/>":t==="diamond"?'<path d="M'+a(e)+","+a(r-i*1.1)+"L"+a(e+i)+","+a(r)+"L"+a(e)+","+a(r+i*1.1)+"L"+a(e-i)+","+a(r)+'Z"'+n+"/>":'<circle cx="'+a(e)+'" cy="'+a(r)+'" r="'+a(l)+'"'+n+"/>"}function ie(t,e,r,l){var n=' stroke="'+l+'" stroke-opacity=".55" stroke-width="1.5"';return'<pattern id="'+t+'" width="6" height="6" patternUnits="userSpaceOnUse"'+(e==="dots"?"":' patternTransform="rotate(45)"')+'><rect width="6" height="6" fill="'+r+'"/>'+(e==="dots"?'<circle cx="3" cy="3" r="1.3" fill="'+l+'" fill-opacity=".55"/>':'<path d="M3,0V6'+(e==="grid"?"M0,3H6":"")+'"'+n+"/>")+"</pattern>"}function tr(t){return Math.max.apply(null,t.map(function(e){return vt(e,10,!0)}))+10}function le(t,e){for(var r=wt(t.values),l=q(t.series),n=q(t.labels),i=[],o=Math.max.apply(null,[0].concat(r.map(function(d){return d.length}))),s=0;s<o;s++){var f=[n[s]||"#"+(s+1)],c=0;r.forEach(function(d){f.push(s<d.length?p(d[s],t):""),c+=s<d.length?d[s]:0}),e&&f.push(p(c,t)),i.push(f)}var v=r.length>1||l.length?r.map(function(d,u){return l[u]||"Series "+(u+1)}):["Value"];return{head:["Label"].concat(v,e?["Total"]:[]),rows:i}}function ge(t,e,r,l,n,i,o){var s="",f=n,c=r.n,v=r.labels;if(r.names){var d=_t(r.names,r.pal,e,l,f,i,r.key,r.kw);s+=d.svg,f+=d.height}var u=r.lo,O=r.hi;G(t.goal)&&(u=Math.min(u,+t.goal),O=Math.max(O,+t.goal)),r.zero&&(u=Math.min(0,u),O=Math.max(0,O));var T=It(u,O,4),R=T.ticks.map(r.tick),A=Math.max.apply(null,R.map(function(z){return vt(z,10,!0)}))+10,C=v.length?20:4,S=l+A,g=i-A,V=o-(f-n)-C,k=function(z){return c===1?S+g/2:S+z*g/(c-1)},x=function(z){return f+V-(z-T.lo)/(T.hi-T.lo)*V};if(T.ticks.forEach(function(z,b){var w=x(z);s+='<line x1="'+a(S)+'" x2="'+a(S+g)+'" y1="'+a(w)+'" y2="'+a(w)+'" stroke="'+e.grid+'"'+(z===0?"":' stroke-dasharray="2 4"')+"/>"+F(S-8,w+3.5,R[b],D(e,10,'text-anchor="end"'))}),v.length){for(var E=Math.max(1,Math.ceil(c*(Math.max.apply(null,v.map(function(z){return vt(z,10,!0)}))+10)/g)),y=0;y<c;y+=E)if(v[y]!=null){var m=c>1&&y===0?"start":c>1&&y===c-1?"end":"middle";s+=F(k(y),f+V+15,v[y],D(e,10,'text-anchor="'+m+'"'))}}return r.notes.forEach(function(z){if(!(z.i>=c)){var b=k(z.i);s+='<line x1="'+a(b)+'" x2="'+a(b)+'" y1="'+a(f+12)+'" y2="'+a(f+V)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+F(st(b,S+30,S+g-30),f+8,z.text,D(e,10,'text-anchor="middle"',e.fg))}}),{svg:s,X:k,Y:x,px:S,pw:g,top:f,ph:V}}function ve(t,e,r,l,n){for(var i=G(t.goal)?Ht(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",o=l>1?r.pw/(l-1):r.pw,s=0;s<l;s++)i+=St(r.X(s)-o/2,r.top,o,r.ph,n(s));return i}function xe(t,e,r,l){return function(n,i,o){var s=t[n%t.length],f=e?Wt[e(n)]:"",c=r?r(n):"none";return'<line x1="'+a(i)+'" x2="'+a(i+18)+'" y1="'+a(o+6)+'" y2="'+a(o+6)+'" stroke="'+s+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(c!=="none"?Zt(c,i+9,o+6,3.5,' fill="'+s+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(t,e,r,l,n){return n?'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="'+n+'"'+ut(t,"bzc-a",l*.15)+"/>":'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1'+(t.animate?";animation-delay:"+l*.15+"s":"")+'"'+(t.animate?' class="bzc-d"':"")+"/>"}function be(t,e,r,l,n,i,o,s){var f="",c=Math.ceil(r.length/40);return r.forEach(function(v,d){(d%c===0||d===r.length-1)&&(f+=Zt(e,l(d),n(v),3.5,' fill="'+i+'" stroke="'+o+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+s*.15)))}),f}function Me(t,e){var r=wt(t.values),l=q(t.series),n=q(t.labels),i=ct(t,e),o=Z(t.height,170),s=Math.max.apply(null,[0].concat(r.map(function(A){return A.length}))),f=Xt(t,n),c=r.length>1||l.length>0,v=At(r[0]||[],t,""),d=Nt(t.dash,Object.keys(Wt),"solid"),u=Nt(t.markers,ae,"none"),O=t.background||e.tile,T=(d||u)&&xe(i,d,u,O),R=function(A){return l[A]||"Series "+(A+1)};return mt(t,e,o,function(A,C,S,g){if(!s)return ht(e,A,C,S,g);var V=[].concat.apply([],r),k=ge(t,e,{n:s,names:c?r.map(function(M,B){return R(B)}):null,pal:i,key:T,kw:T&&24,lo:Math.min.apply(null,V),hi:Math.max.apply(null,V),zero:nt(t.zero),labels:n,notes:f,tick:function(M){return p(M,t,!0)}},A,C,S,g),x=k.svg,E=k.X,y=k.Y,m=k.px,z=k.pw,b=k.top,w=k.ph;return r.forEach(function(M,B){var I=i[B%i.length],Y=M.map(function(H,at){return[E(at),y(H)]});Y.length===1&&(Y=[[m,Y[0][1]],[m+z,Y[0][1]]]);var X=Yt(Y,nt(t.straight));if(B===0){var tt=Rt("g"),it=Y[Y.length-1];x+='<defs><linearGradient id="'+tt+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+I+'" stop-opacity=".26"/><stop offset="1" stop-color="'+I+'" stop-opacity="0"/></linearGradient></defs><path d="'+X+"L"+a(it[0])+","+a(b+w)+"L"+a(Y[0][0])+","+a(b+w)+'Z" fill="url(#'+tt+')"'+ut(t,"bzc-a")+"/>"}var h=u?u(B):"none";if(x+=ye(t,X,I,B,d?Wt[d(B)]:""),h!=="none")x+=be(t,h,M,E,y,I,O,B);else{var U=Y[Y.length-1];x+='<circle cx="'+a(U[0])+'" cy="'+a(U[1])+'" r="4" fill="'+I+'" stroke="'+O+'" stroke-width="2"/>'}nt(t.showValues)&&M.forEach(function(H,at){x+=F(E(at),y(H)-8,p(H,t,!0),D(e,9,'text-anchor="middle"'))})}),x+ve(t,e,k,s,function(M){var B=n[M]||"#"+(M+1);return r.forEach(function(I,Y){M<I.length&&(B+=`
3
+ `+(c?R(Y)+": ":"")+p(I[M],t))}),B})},{stat:v,summary:r.length+" series over "+s+" points"})}Me.table=function(t){return le(t)};pt("line",Me);dt("line");function ke(t,e){for(var r=wt(t.values),l=q(t.series),n=q(t.labels),i=ct(t,e),o=Z(t.height,170),s=r.length,f=Math.max.apply(null,[0].concat(r.map(function(h){return h.length}))),c=s>1?t.stacked==="percent"?"percent":nt(t.stacked)?"stack":"":"",v=Xt(t,n),d=s>1||l.length>0,u=function(h){return l[h]||"Series "+(h+1)},O=function(h,U){return U<r[h].length?r[h][U]:0},T=r.map(function(){return[]}),R=r.map(function(){return[]}),A=[],C=[],S=0;S<f;S++){for(var g=0,V=0,k=0,x=0,E=0;E<s;E++)k+=O(E,S),x+=Math.max(0,O(E,S));for(A.push(k),C.push(x),E=0;E<s;E++){var y=c==="percent"?x?Math.max(0,O(E,S))/x*100:0:O(E,S);c?y>=0?(T[E].push(g),g+=y,R[E].push(g)):(T[E].push(V),V+=y,R[E].push(V)):(T[E].push(0),R[E].push(y))}}for(var m=[].concat.apply([],T.concat(R)),z=Nt(t.dash,Object.keys(Wt),"solid"),b=Nt(t.markers,ae,"none"),w=s>1?Nt(t.patterns,ne,"solid"):null,M=t.background||e.tile,B="",I=[],Y=0;w&&Y<s;Y++)if(w(Y)!=="solid"){var X=Rt("g");B+=ie(X,w(Y),i[Y%i.length],M),I[Y]="url(#"+X+")"}var tt=w?function(h,U,H){return'<rect x="'+a(U)+'" y="'+a(H+1)+'" width="10" height="10" rx="2" fill="'+(I[h]||i[h%i.length])+'"/>'}:(z||b)&&xe(i,z,b,M),it=function(h,U){return C[U]?Math.round(Math.max(0,O(h,U))/C[U]*100):0};return mt(t,e,o,function(h,U,H,at){if(!f)return ht(e,h,U,H,at);var j=ge(t,e,{n:f,names:d?r.map(function(J,N){return u(N)}):null,pal:i,key:tt,kw:tt&&(w?15:24),lo:Math.min.apply(null,m),hi:Math.max.apply(null,m),zero:!0,labels:n,notes:v,tick:c==="percent"?function(J){return p(J,{lang:t.lang},!0)+"%"}:function(J){return p(J,t,!0)}},h,U,H,at),L=(B?"<defs>"+B+"</defs>":"")+j.svg,$=j.X,P=j.Y,ft=function(J){var N=J.map(function(W,K){return[$(K),P(W)]});return N.length===1?[[j.px,N[0][1]],[j.px+j.pw,N[0][1]]]:N},et=nt(t.straight),xt=c?".8":".22",yt=function(J){return c?R[J]:r[J]};return r.forEach(function(J,N){var W=ft(yt(N)),K=ft(c?T[N]:yt(N).map(function(){return 0})).reverse();L+='<path d="'+Yt(W,et)+Yt(K,et).replace(/^M/,"L")+'Z" fill="'+(I[N]||i[N%i.length])+'" fill-opacity="'+xt+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(N*.1)+'s"':"")+"/>"}),r.forEach(function(J,N){var W=i[N%i.length],K=yt(N),_=ft(K),rt=b?b(N):"none";L+=ye(t,Yt(_,et),W,N,z?Wt[z(N)]:""),rt!=="none"?L+=be(t,rt,K,$,P,W,M,N):c||(L+='<circle cx="'+a(_[_.length-1][0])+'" cy="'+a(_[_.length-1][1])+'" r="4" fill="'+W+'" stroke="'+M+'" stroke-width="2"/>'),nt(t.showValues)&&!c&&K.forEach(function(lt,ot){L+=F($(ot),P(lt)-8,p(lt,t,!0),D(e,9,'text-anchor="middle"'))})}),nt(t.showValues)&&c==="stack"&&A.forEach(function(J,N){var W=Math.max.apply(null,R.map(function(K){return K[N]}).concat([0]));L+=F($(N),P(W)-8,p(J,t,!0),D(e,9,'text-anchor="middle"'))}),L+ve(t,e,j,f,function(J){var N=n[J]||"#"+(J+1);return r.forEach(function(W,K){J<W.length&&(N+=`
4
+ `+(d?u(K)+": ":"")+p(W[J],t)+(c==="percent"?" ("+it(K,J)+"%)":""))}),N+(c?`
5
+ Total: `+p(A[J],t):"")})},{stat:At(c?A:r[0]||[],t,""),summary:s+" series "+(c==="percent"?"as shares of each total":c?"stacked":"filled")+" over "+f+" points"})}ke.table=function(t){var e=wt(t.values);return le(t,e.length>1&&(t.stacked==="percent"||nt(t.stacked)))};pt("area",ke);dt("area");var er=40,rr=24;function we(t,e){for(var r=wt(t.values),l=q(t.series),n=q(t.labels),i=ct(t,e),o=r.length,s=Math.max.apply(null,[0].concat(r.map(function(L){return L.length}))),f=o>1,c=nt(t.horizontal),v=f&&nt(t.stacked),d=!f&&q(t.color).filter(Boolean).length>1,u=r[0]||[],O=[].concat.apply([],r),T=function(L,$){return r.reduce(function(P,ft){return L<ft.length&&ft[L]*$>0?P+ft[L]:P},0)},R=[],A=[],C=[],S=0;v&&S<s;S++)A.push(T(S,1)),C.push(T(S,-1)),R.push(A[S]+C[S]);for(var g=v?A.concat(C):O,V=g.length?Math.max.apply(null,g):0,k=function(L){return l[L]||"Series "+(L+1)},x=f?Nt(t.patterns,ne,"solid"):null,E="",y=[],m=0;x&&m<o;m++)if(x(m)!=="solid"){var z=Rt("g");E+=ie(z,x(m),i[m%i.length],t.background||e.tile),y[m]="url(#"+z+")"}var b=function(L,$){return f?y[L]||i[L%i.length]:d?i[$%i.length]:i[0]},w=x&&function(L,$,P){return'<rect x="'+a($)+'" y="'+a(P+1)+'" width="10" height="10" rx="2" fill="'+b(L)+'"/>'},M=function(L){return f||d||t.highlight==="none"||L===V?1:.5},B=function(L){return n[L]||"#"+(L+1)},I=function(L){return f?B(L)+r.map(function($,P){return L<$.length?`
6
+ `+k(P)+": "+p($[L],t):""}).join("")+(v?`
7
+ Total: `+p(R[L],t):""):B(L)+": "+p(u[L],t)},Y=Jt(t),X=f||l.length?_t(r.map(function(L,$){return k($)}),i,e,0,0,Y.w,w,w&&15).height:0,tt=v?1:o,it=f&&!v,h=it?10:14,U=3,H=c?tt*h+(tt-1)*U+(it?14:16):0,at=c?X+Math.max(1,s)*H-6:Z(t.height,140)+X,j=u.indexOf(Math.max.apply(null,u.length?u:[0]));return mt(t,e,at,function(L,$,P,ft){if(!s)return ht(e,L,$,P,ft);var et=E?"<defs>"+E+"</defs>":"",xt=$;X&&(et+=_t(r.map(function(Q,bt){return k(bt)}),i,e,L,$,P,w,w&&15).svg,xt+=X);var yt=Math.min(0,Math.min.apply(null,g)),J=Math.max(0,V);if(G(t.goal)&&(yt=Math.min(yt,+t.goal),J=Math.max(J,+t.goal)),J===yt&&(J=yt+1),c){for(var N=n.length?Math.min(P*.4,Math.max.apply(null,n.map(function(Q){return vt(Q,12)}))+10):0,W=v?[R.map(function(Q){return p(Q,t)})]:r.map(function(Q){return Q.map(function(bt){return p(bt,t)})}),K=Math.max.apply(null,[].concat.apply([],W).map(function(Q){return vt(Q,it?10:11,!0)}))+10,_=L+N,rt=P-N-K,lt=Math.max(J,0)||1,ot=0;ot<s;ot++){var Ft=xt+ot*H;n[ot]!=null&&(et+=F(L,Ft+(H-6)/2+4,qt(n[ot],Math.floor(N/6.7)),'fill="'+e.fg+'" font-family="'+Mt+'" font-size="12"')),v?(et+=fr(ot,_,Ft+5,rt,lt),et+=F(L+P,Ft+5+h/2+3.8,W[0][ot],'text-anchor="end" fill="'+e.fg+'" font-family="'+Ot+'" font-size="11" font-weight="600"')):r.forEach(function(Q,bt){if(!(ot>=Q.length)){var Et=Q[ot],Gt=Ft+(f?2:5)+bt*(h+U),Pt=Math.max(0,Et)/lt*rt;f||(et+='<rect x="'+a(_)+'" y="'+a(Gt)+'" width="'+a(rt)+'" height="'+h+'" rx="'+h/2+'" fill="'+e.grid+'" fill-opacity=".6"/>'),Pt>0&&(et+='<rect x="'+a(_)+'" y="'+a(Gt)+'" width="'+a(Math.max(h,Pt))+'" height="'+h+'" rx="'+h/2+'" fill="'+b(bt,ot)+'" fill-opacity="'+M(Et)+'"'+ut(t,"bzc-gx",ot*.06+bt*.03)+"/>"),et+=F(L+P,Gt+h/2+3.8,W[bt][ot],'text-anchor="end" fill="'+e.fg+'" font-family="'+Ot+'" font-size="'+(f?10:11)+'" font-weight="600"')}}),et+=St(L,Ft,P,H-6,I(ot))}if(G(t.goal)&&+t.goal>0){var Ue=_+ +t.goal/lt*rt;et+='<line x1="'+a(Ue)+'" x2="'+a(Ue)+'" y1="'+a(xt-2)+'" y2="'+a($+ft+2)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return et}function fr(Q,bt,Et,Gt,Pt){var Dt='<rect x="'+a(bt)+'" y="'+a(Et)+'" width="'+a(Gt)+'" height="'+h+'" rx="'+h/2+'" fill="'+e.grid+'" fill-opacity=".6"/>',ee=0;return r.forEach(function(ue,$t){var re=Q<ue.length?ue[Q]:0,Ut=Math.max(0,re)/Pt*Gt;if(!(Ut<=0)){var Qt=ee>0?1.5:0;Dt+='<rect x="'+a(bt+ee+Qt)+'" y="'+a(Et)+'" width="'+a(Math.max(2,Ut-Qt))+'" height="'+h+'" rx="'+a(Math.min(3,Ut/2))+'" fill="'+b($t,Q)+'"'+ut(t,"bzc-gx",Q*.06+$t*.03)+"/>",ee+=Ut}}),Dt}var qe=n.length?Math.max.apply(null,n.map(function(Q){return vt(Q,10,!0)})):0,Fe=n.length?Math.max(1,Math.ceil(s*(qe+8)/P)):1,oe=nt(t.angleLabels)&&Fe>1,Ie=er*Math.PI/180,_e=function(Q){return oe?qt(Q,rr):Q};if(oe){var ur=P/s,te=0;n.forEach(function(Q,bt){te=Math.max(te,Math.cos(Ie)*vt(_e(Q),10,!0)+4-(bt+.5)*ur)}),te=Math.min(te,P*.25),L+=te,P-=te,Fe=1}var Ye=nt(t.showValues)&&yt<0?14:0,cr=oe?Math.ceil(Math.sin(Ie)*Math.min(qe,vt("x".repeat(rr),10,!0)))+18:20,hr=(n.length?cr:2)+Ye,Xe=nt(t.showValues)?16:4,Ne=ft-(xt-$)-hr-Xe,We=xt+Xe,Bt=function(Q){return We+Ne-(Q-yt)/(J-yt)*Ne},se=P/s,fe=Math.min(se*(it?.78:.62),it?o*30:56),Ze=it?Math.min(3,fe/o*.15):0,Kt=v?fe:(fe-Ze*(o-1))/o,he=Bt(0);et+='<line x1="'+L+'" x2="'+(L+P)+'" y1="'+a(he)+'" y2="'+a(he)+'" stroke="'+e.grid+'"/>';for(var Tt=0;Tt<s;Tt++){var Ge=L+Tt*se+(se-fe)/2;if(v?et+=mr(Tt,Ge):r.forEach(function(Q,bt){if(!(Tt>=Q.length)){var Et=Q[Tt],Gt=Ge+bt*(Kt+Ze),Pt=Math.min(Bt(Et),he),Dt=Math.abs(Bt(Et)-he);Dt>.5&&(et+='<rect x="'+a(Gt)+'" y="'+a(Pt)+'" width="'+a(Kt)+'" height="'+a(Dt)+'" rx="'+a(Math.min(6,Kt/2,Dt/2))+'" fill="'+b(bt,Tt)+'" fill-opacity="'+M(Et)+'"'+ut(t,Et<0?"bzc-gn":"bzc-g",Tt*.05+bt*.03)+"/>"),nt(t.showValues)&&(et+=F(Gt+Kt/2,Et<0?Bt(Et)+12:Bt(Et)-5,p(Et,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Ot+'" font-size="'+(f?9:10)+'" font-weight="600"'))}}),n[Tt]!=null&&Tt%Fe===0){var Re=Ge+fe/2,Ve=We+Ne+Ye+(oe?12:15);et+=oe?F(Re,Ve,_e(n[Tt]),D(e,10,'text-anchor="end" transform="rotate(-'+er+" "+a(Re)+" "+a(Ve)+')"')):F(Re,Ve,n[Tt],D(e,10,'text-anchor="middle"'))}et+=St(L+Tt*se,xt,se,ft-(xt-$),I(Tt))}return G(t.goal)&&(et+=Ht(t,e,L,L+P,Bt(+t.goal))),et;function mr(Q,bt){var Et="",Gt=0,Pt=0;if(r.forEach(function(ee,ue){var $t=Q<ee.length?ee[Q]:0;if($t){var re=$t>0?Gt:Pt,Ut=re+$t;$t>0?Gt=Ut:Pt=Ut;var Qt=Bt(Math.max(re,Ut)),Be=Bt(Math.min(re,Ut)),ce=Be-Qt,Ke=re!==0?Math.min(1.5,ce/2):0;$t>0?Be-=Ke:Qt+=Ke,ce=Be-Qt,ce>.5&&(Et+='<rect x="'+a(bt)+'" y="'+a(Qt)+'" width="'+a(Kt)+'" height="'+a(ce)+'" rx="'+a(Math.min(3,Kt/2,ce/2))+'" fill="'+b(ue,Q)+'"'+ut(t,$t<0?"bzc-gn":"bzc-g",Q*.05+ue*.03)+"/>")}}),nt(t.showValues)){var Dt=R[Q];Et+=F(bt+Kt/2,Dt<0?Bt(C[Q])+12:Bt(A[Q])-5,p(Dt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Ot+'" font-size="10" font-weight="600"')}return Et}},{stat:At(u,t,""),summary:s?v?o+" series stacked across "+s+" groups":f?o+" series across "+s+" groups":"highest "+(n[j]||"")+" "+p(u[j],t):"no data"})}we.table=function(t){return le(t,wt(t.values).length>1&&nt(t.stacked))};pt("bars",we);dt("bars");function Se(t,e){for(var r=nr(t),l=q(t.series),n=ct(t,e),i=Z(t.height,190),o=r?r.S:[],s=o.length,f=s>1||l.length>0,c=nt(t.percent),v=function(m){return l[m]||"Series "+(m+1)},d=Object.assign({},t,{decimals:G(t.decimals)?t.decimals:r?r.dp:0}),u=function(m){return p(r.edge(m),d)+" to "+p(r.edge(m+1),d)},O=function(m,z){return Math.round(r.counts[m][z]/o[m].length*100)},T=function(m,z){return c?r.counts[m][z]/o[m].length*100:r.counts[m][z]},R=q(t.mark).filter(function(m){return m==="mean"||m==="median"}),A=s>1?Nt(t.patterns,ne,"solid"):null,C="",S=[],g=0;A&&g<s;g++)if(A(g)!=="solid"){var V=Rt("g");C+=ie(V,A(g),n[g%n.length],t.background||e.tile),S[g]="url(#"+V+")"}var k=A&&function(m,z,b){return'<rect x="'+a(z)+'" y="'+a(b+1)+'" width="10" height="10" rx="2" fill="'+(S[m]||n[m%n.length])+'"/>'},x=0,E=0;if(r){for(var y=0;y<r.count;y++)ar(r,y)>ar(r,x)&&(x=y);o.forEach(function(m){E+=m.length})}return mt(t,e,i,function(m,z,b,w){if(!r)return ht(e,m,z,b,w);var M=C?"<defs>"+C+"</defs>":"",B=z;if(f){var I=_t(o.map(function(_,rt){return v(rt)}),n,e,m,B,b,k,k&&15);M+=I.svg,B+=I.height}var Y=0;o.forEach(function(_,rt){for(var lt=0;lt<r.count;lt++)Y=Math.max(Y,T(rt,lt))});var X=It(0,Y||1,4),tt=X.ticks.map(function(_){return p(_,{lang:t.lang},!0)+(c?"%":"")}),it=Math.max.apply(null,tt.map(function(_){return vt(_,10,!0)}))+10,h=m+it,U=b-it,H=w-(B-z)-20,at=U/r.count,j=function(_){return h+_*at},L=function(_){return B+H-(_-X.lo)/(X.hi-X.lo)*H};X.ticks.forEach(function(_,rt){var lt=L(_);M+='<line x1="'+a(h)+'" x2="'+a(h+U)+'" y1="'+a(lt)+'" y2="'+a(lt)+'" stroke="'+e.grid+'"'+(_===0?"":' stroke-dasharray="2 4"')+"/>"+F(h-8,lt+3.5,tt[rt],D(e,10,'text-anchor="end"'))});for(var $=[],P=0;P<=r.count;P++)$.push(p(r.edge(P),d,!0));var ft=Math.max(1,Math.ceil((Math.max.apply(null,$.map(function(_){return vt(_,10,!0)}))*1.5+8)/at));for(P=0;P<=r.count;P+=ft)M+=F(j(P),B+H+15,$[P],D(e,10,'text-anchor="'+(P===0?"start":P===r.count?"end":"middle")+'"'));o.forEach(function(_,rt){for(var lt=0;lt<r.count;lt++){var ot=T(rt,lt);if(ot){var Ft=L(ot);M+='<rect x="'+a(j(lt)+.5)+'" y="'+a(Ft)+'" width="'+a(Math.max(1,at-1))+'" height="'+a(B+H-Ft)+'" fill="'+(S[rt]||n[rt%n.length])+'"'+(f?' fill-opacity=".55"':"")+ut(t,"bzc-g",Math.min(.6,lt*.03))+"/>"}}});var et=r.edge(0),xt=r.edge(r.count)-et,yt=[];if(o.forEach(function(_,rt){R.forEach(function(lt){var ot=lt==="mean"?Tr(_):Cr(_);yt.push({x:h+(ot-et)/xt*U,c:f?n[rt%n.length]:e.fg,t:(f?v(rt)+" ":"")+lt+" "+p(ot,t)})})}),yt.length){var J=yt.map(function(_){return _.x}),N=(Math.min.apply(null,J)+Math.max.apply(null,J))/2>h+U/2,W=N?Math.min.apply(null,J)-5:Math.max.apply(null,J)+5;yt.forEach(function(_,rt){M+='<line x1="'+a(_.x)+'" x2="'+a(_.x)+'" y1="'+a(B)+'" y2="'+a(B+H)+'" stroke="'+_.c+'" stroke-width="1.5" stroke-dasharray="4 3"/>'+F(W,B+9+rt*12,_.t,D(e,10,'text-anchor="'+(N?"end":"start")+'"',f?_.c:e.fg))})}for(y=0;y<r.count;y++){var K=u(y);o.forEach(function(_,rt){K+=`
8
+ `+(f?v(rt)+": ":"")+r.counts[rt][y]+" ("+O(rt,y)+"%)"}),M+=St(j(y),B,at,H,K)}return M},{summary:r?(f?s+" series, ":"")+E+" values in "+r.count+" ranges from "+p(r.edge(0),d)+" to "+p(r.edge(r.count),d)+", most in "+u(x):"no data"})}Se.table=function(t){var e=nr(t),r=q(t.series);if(!e)return{head:["Range","Count"],rows:[]};for(var l=e.S.length>1||r.length>0,n=Object.assign({},t,{decimals:G(t.decimals)?t.decimals:e.dp}),i=[],o=0;o<e.count;o++){var s=[p(e.edge(o),n)+" to "+p(e.edge(o+1),n)];l?e.S.forEach(function(f,c){s.push(String(e.counts[c][o]))}):s.push(String(e.counts[0][o]),Math.round(e.counts[0][o]/e.S[0].length*100)+"%"),i.push(s)}return{head:["Range"].concat(l?e.S.map(function(f,c){return r[c]||"Series "+(c+1)}):["Count","Share"]),rows:i}};function Ar(t){var e=Math.floor(Math.log10(t)),r=+("1e"+e),l=t/r,n=l<1.4142?1:l<2.2361?2:l<3.5355?2.5:l<7.0711?5:10;return{w:n*r,dp:Math.max(0,n===10?-e-1:-e)+(n===2.5?1:0)}}function nr(t){var e=wt(t.values),r=[].concat.apply([],e);if(!r.length)return null;var l=Math.min.apply(null,r),n=Math.max.apply(null,r),i=Z(t.binWidth,0),o,s;if(i>0&&(n-l)/i<=200){var f=String(t.binWidth),c=f.indexOf(".");o=c<0?0:Math.min(6,f.length-c-1)}else{var v=Z(t.bins,0)>0?Math.round(Z(t.bins,0)):Math.ceil(Math.log2(r.length)+1);v=Math.min(Math.max(v,1),50),s=Ar(n>l?(n-l)/v:Math.abs(l)||1),i=s.w,o=s.dp}for(var d=Math.floor(l/i),u=function(R){return Number(((d+R)*i).toFixed(o+3))};u(0)>l;)d--;for(var O=Math.max(1,Math.ceil((n-u(0))/i));O>1&&u(O-1)>=n;)O--;for(;u(O)<n;)O++;var T=e.map(function(R){for(var A=[],C=0;C<O;C++)A.push(0);return R.forEach(function(S){for(var g=Math.min(O-1,Math.max(0,Math.floor((S-u(0))/i)));g>0&&S<u(g);)g--;for(;g<O-1&&S>=u(g+1);)g++;A[g]++}),A});return{S:e,edge:u,count:O,counts:T,dp:o}}function ar(t,e){var r=0;return t.counts.forEach(function(l){r+=l[e]}),r}function Tr(t){var e=0;return t.forEach(function(r){e+=r}),e/t.length}function Cr(t){var e=t.slice().sort(function(l,n){return l-n}),r=Math.floor(e.length/2);return e.length%2?e[r]:(e[r-1]+e[r])/2}pt("histogram",Se);dt("histogram");function Ee(t,e){var r=wt(t.values),l=q(t.series),n=ct(t,e),i=r.length,o=nt(t.horizontal),s=q(t.color).length>1,f=q(t.mark).indexOf("mean")>=0,c=r.map(function(R){return ir(R,t.whiskers==="range")}),v=function(R){return l[R]||"Group "+(R+1)},d=Z(t.height,o?Math.max(120,i*36+24):200),u=function(R){return p(R,t)},O=c.map(function(R){return R.median}),T=i===1?"median "+u(c[0].median)+", middle half "+u(c[0].q1)+" to "+u(c[0].q3):i+" groups, medians from "+u(Math.min.apply(null,O))+" to "+u(Math.max.apply(null,O));return mt(t,e,d,function(R,A,C,S){if(!i)return ht(e,R,A,C,S);var g=Math.min.apply(null,c.map(function(h){return h.min})),V=Math.max.apply(null,c.map(function(h){return h.max}));G(t.goal)&&(g=Math.min(g,+t.goal),V=Math.max(V,+t.goal));var k=It(g,V,4),x="",E=k.ticks.map(function(h){return p(h,t,!0)}),y=o?Math.min(C*.4,Math.max.apply(null,r.map(function(h,U){return vt(v(U),11)}))+12):0,m=o?0:Math.max.apply(null,E.map(function(h){return vt(h,10,!0)}))+10,z=R+(o?y:m),b=C-(o?y:m),w=S-20,M=o?function(h){return z+(h-k.lo)/(k.hi-k.lo)*b}:function(h){return A+w-(h-k.lo)/(k.hi-k.lo)*w},B=(o?w:b)/i,I=Math.min(28,B*.28),Y=function(h){return(o?A:z)+B*(h+.5)},X=function(h,U){return o?[U,h]:[h,U]},tt=function(h,U,H,at,j){var L=X(h,U),$=X(H,at);return'<line x1="'+a(L[0])+'" y1="'+a(L[1])+'" x2="'+a($[0])+'" y2="'+a($[1])+'"'+j+"/>"};if(k.ticks.forEach(function(h,U){var H=M(h);x+=tt(o?A:z,H,o?A+w:z+b,H,' stroke="'+e.grid+'"'+(h===0?"":' stroke-dasharray="2 4"'))+(o?F(H,A+w+15,E[U],D(e,10,'text-anchor="middle"')):F(z-8,H+3.5,E[U],D(e,10,'text-anchor="end"')))}),c.forEach(function(h,U){var H=Y(U),at=s?n[U%n.length]:n[0],j=' stroke="'+at+'" stroke-width="1.5"';if(i>1||l.length){var L=Fr(v(U),o?y-10:B-6,o?11:10,!o);x+=o?F(R,H+4,L,D(e,11,"",e.fg)):F(H,A+w+15,L,D(e,10,'text-anchor="middle"'))}if(h.n){var $=X(H-I,M(h.q1)),P=X(H+I,M(h.q3));if(x+="<g"+ut(t,"bzc-a",Math.min(.6,U*.06))+">"+tt(H,M(h.low),H,M(h.q1),j)+tt(H,M(h.q3),H,M(h.high),j)+tt(H-I/2,M(h.low),H+I/2,M(h.low),j)+tt(H-I/2,M(h.high),H+I/2,M(h.high),j)+'<rect x="'+a(Math.min($[0],P[0]))+'" y="'+a(Math.min($[1],P[1]))+'" width="'+a(Math.abs(P[0]-$[0]))+'" height="'+a(Math.max(1,Math.abs(P[1]-$[1])))+'" rx="3" fill="'+at+'" fill-opacity=".22"'+j+"/>"+tt(H-I,M(h.median),H+I,M(h.median),' stroke="'+at+'" stroke-width="2.5"'),h.outliers.forEach(function(et){var xt=X(H,M(et));x+='<circle cx="'+a(xt[0])+'" cy="'+a(xt[1])+'" r="2.5" fill="none"'+j+"/>"}),f){var ft=X(H,M(h.mean));x+=Zt("diamond",ft[0],ft[1],4,' fill="'+(t.background||e.tile)+'"'+j)}x+="</g>"}}),G(t.goal)){var it=M(+t.goal);x+=o?tt(it,A,it,A+w,' stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="4 4"'):Ht(t,e,z,z+b,it)}return c.forEach(function(h,U){if(h.n){var H=v(U)+`
9
+ Median `+u(h.median)+`
10
+ Middle half `+u(h.q1)+" to "+u(h.q3)+`
11
+ `+(h.outliers.length?"Range without outliers ":"Range ")+u(h.low)+" to "+u(h.high)+(h.outliers.length?`
12
+ `+h.outliers.length+(h.outliers.length===1?" outlier":" outliers"):"")+(f?`
13
+ Mean `+u(h.mean):"")+`
14
+ n = `+h.n;x+=o?St(z,Y(U)-B/2,b,B,H):St(Y(U)-B/2,A,B,w,H)}}),x},{summary:i?T:"no data"})}Ee.table=function(t){var e=wt(t.values),r=q(t.series),l=q(t.mark).indexOf("mean")>=0,n=function(i){return p(i,t)};return{head:["Group","Count","Lowest","Lower quartile","Median","Upper quartile","Highest","Outliers"].concat(l?["Mean"]:[]),rows:e.map(function(i,o){var s=ir(i,t.whiskers==="range");return[r[o]||"Group "+(o+1),String(s.n),n(s.min),n(s.q1),n(s.median),n(s.q3),n(s.max),String(s.outliers.length)].concat(l?[n(s.mean)]:[])})}};function Fr(t,e,r,l){for(var n=String(t);n.length>1&&vt(n,r,l)>e;)n=qt(n,n.length-1);return n}function $e(t,e){var r=(t.length-1)*e,l=Math.floor(r);return l+1<t.length?t[l]+(r-l)*(t[l+1]-t[l]):t[l]}function ir(t,e){var r=t.slice().sort(function(d,u){return d-u}),l=r.length;if(!l)return{n:0,outliers:[]};var n=$e(r,.25),i=$e(r,.75),o=i-n,s=0,f=e?-1/0:n-1.5*o,c=e?1/0:i+1.5*o,v=r.filter(function(d){return d>=f&&d<=c});return r.forEach(function(d){s+=d}),{n:l,min:r[0],max:r[l-1],q1:n,median:$e(r,.5),q3:i,mean:s/l,low:v[0],high:v[v.length-1],outliers:r.filter(function(d){return d<f||d>c})}}pt("boxplot",Ee);dt("boxplot");function Nr(t,e){var r=Math.min(t.length,e.length);if(r<2)return null;var l=0,n=0,i;for(i=0;i<r;i++)l+=t[i],n+=e[i];l/=r,n/=r;var o=0,s=0,f=0;for(i=0;i<r;i++)o+=(t[i]-l)*(t[i]-l),s+=(e[i]-n)*(e[i]-n),f+=(t[i]-l)*(e[i]-n);if(!o)return null;var c=f/o;return{slope:c,intercept:n-c*l,r:s?f/Math.sqrt(o*s):0}}function ze(t,e){for(var r=wt(t.x),l=wt(t.y),n=q(t.series),i=q(t.labels),o=ct(t,e),s=[],f=0;f<Math.max(r.length,l.length);f++){var c=r[f]||[],v=l[f]||[],d=Math.min(c.length,v.length);s.push({xs:c.slice(0,d),ys:v.slice(0,d)})}s=s.filter(function(E){return E.xs.length});var u=s.reduce(function(E,y){return E+y.xs.length},0),O=Z(t.height,210),T=s.length>1||n.length>0,R=nt(t.trend),A=function(E){return n[E]||"Group "+(E+1)},C={decimals:t.decimals,compact:t.compact,lang:t.lang},S=Xt(t,i),g=Nt(t.markers,ae,"circle"),V=t.background||e.tile,k=function(E){var y=g?g(E):"circle";return y==="none"?"circle":y},x=g&&function(E,y,m){return Zt(k(E),y+4,m+6,4,' fill="'+o[E%o.length]+'"')};return mt(t,e,O,function(E,y,m,z){if(!u)return ht(e,E,y,m,z);var b="",w=y;if(T){var M=_t(s.map(function(N,W){return A(W)}),o,e,E,w,m,x);b+=M.svg,w+=M.height}var B=[].concat.apply([],s.map(function(N){return N.xs})),I=[].concat.apply([],s.map(function(N){return N.ys})),Y=Math.min.apply(null,I),X=Math.max.apply(null,I);G(t.goal)&&(Y=Math.min(Y,+t.goal),X=Math.max(X,+t.goal)),nt(t.zero)&&(Y=Math.min(0,Y),X=Math.max(0,X));var tt=It(Y,X,4),it=It(Math.min.apply(null,B),Math.max.apply(null,B),5),h=tt.ticks.map(function(N){return p(N,t,!0)}),U=tr(h)+(G(t.yLabel)?14:0),H=20+(G(t.xLabel)?16:0),at=E+U,j=m-U,L=z-(w-y)-H,$=function(N){return at+6+(N-it.lo)/(it.hi-it.lo)*(j-12)},P=function(N){return w+6+L-6-(N-tt.lo)/(tt.hi-tt.lo)*(L-6)};tt.ticks.forEach(function(N,W){var K=P(N);b+='<line x1="'+a(at)+'" x2="'+a(at+j)+'" y1="'+a(K)+'" y2="'+a(K)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+F(at-8,K+3.5,h[W],D(e,10,'text-anchor="end"'))});var ft=Math.max(1,Math.ceil(it.ticks.length*44/j));if(it.ticks.forEach(function(N,W){if(!(W%ft)){var K=$(N);b+='<line x1="'+a(K)+'" x2="'+a(K)+'" y1="'+a(w)+'" y2="'+a(w+L)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+F(K,w+L+15,p(N,C,!0),D(e,10,'text-anchor="middle"'))}}),G(t.xLabel)&&(b+=F(at+j/2,w+L+32,t.xLabel,D(e,10,'text-anchor="middle" font-weight="600"'))),G(t.yLabel)){var et=w+L/2;b+='<text x="'+a(E+4)+'" y="'+a(et)+'" transform="rotate(-90 '+a(E+4)+" "+a(et)+')" text-anchor="middle" '+D(e,10,'font-weight="600"')+' dominant-baseline="hanging">'+String(t.yLabel).replace(/[&<>"]/g,function(N){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[N]})+"</text>"}G(t.goal)&&(b+=Ht(t,e,at,at+j,P(+t.goal))),R&&s.forEach(function(N,W){var K=Nr(N.xs,N.ys);if(K){var _=Math.min.apply(null,N.xs),rt=Math.max.apply(null,N.xs),lt=K.slope*_+K.intercept,ot=K.slope*rt+K.intercept,Ft=o[W%o.length];b+='<line x1="'+a($(_))+'" y1="'+a(st(P(lt),w,w+L))+'" x2="'+a($(rt))+'" y2="'+a(st(P(ot),w,w+L))+'" stroke="'+Ft+'" stroke-width="2" stroke-dasharray="6 4" stroke-linecap="round" stroke-opacity=".9"/>',b+=F(Math.min($(rt),at+j)-2,st(P(ot),w+10,w+L)-7,"r = "+K.r.toFixed(2),D(e,10,'text-anchor="end" font-weight="600"',Ft))}});var xt=0,yt=u>150?3:4.5;s.forEach(function(N,W){var K=o[W%o.length];N.xs.forEach(function(_,rt){var lt=$(_),ot=P(N.ys[rt]),Ft=(i[xt]?i[xt]+`
15
+ `:T?A(W)+`
16
+ `:"")+(G(t.xLabel)?t.xLabel:"x")+": "+p(_,C)+`
17
+ `+(G(t.yLabel)?t.yLabel:"y")+": "+p(N.ys[rt],t);b+=Zt(k(W),lt,ot,yt,' fill="'+K+'" fill-opacity=".85" stroke="'+V+'" stroke-width="1.5"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Math.min(.8,xt*.012))+'s"':"")),b+=St(lt-8,ot-8,16,16,Ft),xt++})});var J=[];return s.forEach(function(N){N.xs.forEach(function(W,K){J.push([$(W),P(N.ys[K])])})}),S.forEach(function(N){var W=J[N.i];W&&(b+='<circle cx="'+a(W[0])+'" cy="'+a(W[1])+'" r="'+(yt+4)+'" fill="none" stroke="'+e.fg+'" stroke-width="1.5"/>'+F(st(W[0],at+30,at+j-30),W[1]-yt-9,N.text,D(e,10,'text-anchor="middle"',e.fg)))}),b},{summary:u+" points"+(T?" in "+s.length+" groups":"")})}ze.table=function(t){var e=wt(t.x),r=wt(t.y),l=q(t.series),n=q(t.labels),i=e.length>1||l.length>0,o={decimals:t.decimals,compact:t.compact,lang:t.lang},s=[],f=0;return e.forEach(function(c,v){for(var d=r[v]||[],u=0;u<Math.min(c.length,d.length);u++,f++)s.push([n[f]||"#"+(f+1)].concat(i?[l[v]||"Group "+(v+1)]:[],[p(c[u],o),p(d[u],t)]))}),{head:["Point"].concat(i?["Group"]:[],[G(t.xLabel)?t.xLabel:"x",G(t.yLabel)?t.yLabel:"y"]),rows:s}};pt("scatter",ze);dt("scatter");function Le(t,e){var r=gt(t.values),l=q(t.labels),n=ct(t,e),i=Z(t.max,100)||100,o=Z(t.height,140),s=!G(t.prefix)&&!G(t.suffix)&&i===100,f=function(v){return p(v,t)+(s?"%":"")},c=At(r,t,"");return mt(t,e,o,function(v,d,u,O){if(!r.length)return ht(e,v,d,u,O);var T="",R=r.length===1,A=Math.min(O,R?u:u*.55),C=R?v+u/2:v+A/2,S=d+O/2,g=R?A*.12:st(A*.42/(r.length*1.35),5,16),V=g*.38;if(r.forEach(function(y,m){var z=A/2-g/2-m*(g+V);if(!(z<=g/2)){var b=st(y/i*100,0,100),w=n[m%n.length];T+='<circle cx="'+a(C)+'" cy="'+a(S)+'" r="'+a(z)+'" fill="none" stroke="'+w+'" stroke-opacity=".16" stroke-width="'+a(g)+'"/>',b>0&&(T+='<circle cx="'+a(C)+'" cy="'+a(S)+'" r="'+a(z)+'" fill="none" stroke="'+w+'" stroke-width="'+a(g)+'" stroke-linecap="round" pathLength="100" transform="rotate(-90 '+a(C)+" "+a(S)+')" style="stroke-dasharray:'+a(b)+" 100"+(t.animate?";animation-delay:"+m*.12+"s":"")+'"'+(t.animate?' class="bzc-s"':"")+"/>"),T+='<circle cx="'+a(C)+'" cy="'+a(S)+'" r="'+a(z+g/2)+'" fill="#000" fill-opacity="0" class="bzc-hit" data-tip="'+kt((l[m]||"#"+(m+1))+": "+f(y)+(s?"":" of "+p(i,t)))+'"/>'}}),R)T+=F(C,S+A*.08,f(r[0]),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Mt+'" font-size="'+a(A*.22)+'" font-weight="800"'),l[0]&&(T+=F(C,S+A*.08+16,l[0],D(e,10,'text-anchor="middle"')));else{var k=v+A+22,x=Math.min(26,O/r.length),E=S-x*r.length/2;r.forEach(function(y,m){var z=E+m*x+x/2;T+='<circle cx="'+a(k+4)+'" cy="'+a(z)+'" r="4" fill="'+n[m%n.length]+'"/>'+F(k+14,z+4,qt(l[m]||"#"+(m+1),Math.floor((v+u-k-60)/6.7)),'fill="'+e.fg+'" font-family="'+Mt+'" font-size="12"')+F(v+u,z+4,f(y),'text-anchor="end" fill="'+e.fg+'" font-family="'+Ot+'" font-size="11" font-weight="600"')})}return T},{stat:c,summary:r.map(function(v,d){return(l[d]?l[d]+" ":"")+f(v)}).join(", ")})}Le.table=function(t){var e=q(t.labels),r=Z(t.max,100)||100,l=!G(t.prefix)&&!G(t.suffix)&&r===100;return{head:["Label","Value"],rows:gt(t.values).map(function(n,i){return[e[i]||"#"+(i+1),p(n,t)+(l?"%":" of "+p(r,t))]})}};pt("ring",Le);dt("ring");function Oe(t,e){var r=gt(t.values).map(function(u){return Math.max(0,u)}),l=q(t.labels),n=ct(t,e),i=r.slice(),o=l.slice();if(i.length>6){var s=i.map(function(u,O){return O}).sort(function(u,O){return r[O]-r[u]}),f=s.slice(0,5).sort(function(u,O){return u-O});i=f.map(function(u){return r[u]}),o=f.map(function(u){return l[u]||"#"+(u+1)}),i.push(Vt(s.slice(5).map(function(u){return r[u]}))),o.push("Other")}var c=Vt(i),v=Z(t.height,150),d=At(i,t,"");return mt(t,e,v,function(u,O,T,R){if(!c)return ht(e,u,O,T,R);var A="",C=Math.min(R,T*.5),S=u+C/2,g=O+R/2,V=C*.16,k=(C-V)/2,x=0,E=i.filter(Boolean).length>1?.9:0;i.forEach(function(b,w){var M=b/c*100;if(!(M<=0)){var B=Math.max(.01,M-E);A+='<circle cx="'+a(S)+'" cy="'+a(g)+'" r="'+a(k)+'" fill="none" stroke="'+n[w%n.length]+'" stroke-width="'+a(V)+'" pathLength="100" stroke-dasharray="'+a(B)+" "+a(100-B)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(S)+" "+a(g)+')"'+ut(t,"bzc-a",w*.08)+"/>",x+=M}}),A+=F(S,g+2,p(c,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Mt+'" font-size="'+a(C*.17)+'" font-weight="800"'),A+=F(S,g+2+14,(G(t.centerLabel)?t.centerLabel:"Total").toUpperCase(),D(e,9,'text-anchor="middle" letter-spacing="1"'));var y=u+C+22,m=Math.min(24,R/i.length),z=g-m*i.length/2;return i.forEach(function(b,w){var M=z+w*m+m/2,B=Math.round(b/c*100),I=(o[w]||"#"+(w+1))+": "+p(b,t)+" ("+B+"%)";A+='<circle cx="'+a(y+4)+'" cy="'+a(M)+'" r="4" fill="'+n[w%n.length]+'"/>'+F(y+14,M+4,qt(o[w]||"#"+(w+1),Math.floor((u+T-y-50)/6.7)),'fill="'+e.fg+'" font-family="'+Mt+'" font-size="12"')+F(u+T,M+4,B+"%",'text-anchor="end" fill="'+e.muted+'" font-family="'+Ot+'" font-size="11" font-weight="600"')+St(y,M-m/2,u+T-y,m,I)}),x=0,i.forEach(function(b,w){var M=b/c*100;M<=0||(A+='<circle cx="'+a(S)+'" cy="'+a(g)+'" r="'+a(k)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+a(V)+'" pathLength="100" stroke-dasharray="'+a(M)+" "+a(100-M)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(S)+" "+a(g)+')" class="bzc-hit" data-skip="" data-tip="'+kt((o[w]||"#"+(w+1))+": "+p(b,t)+" ("+Math.round(M)+"%)")+'"/>',x+=M)}),A},{stat:d,summary:"total "+p(c,t)+" across "+i.length+" parts"})}Oe.table=function(t){var e=gt(t.values).map(function(n){return Math.max(0,n)}),r=q(t.labels),l=Vt(e);return{head:["Label","Value","Share"],rows:e.map(function(n,i){return[r[i]||"#"+(i+1),p(n,t),(l?Math.round(n/l*100):0)+"%"]})}};pt("donut",Oe);dt("donut");function Ae(t,e){var r=gt(t.values),l=r.length?r[0]:Z(t.value,NaN),n=q(t.labels),i=Z(t.min,0),o=Z(t.max,100),s=Z(t.height,130);o===i&&(o=i+1);var f=gt(t.zones),c=ct(t,e),v=q(t.color).filter(Boolean).length>1?c:[e.up,e.palette[3],e.down],d=c[0];if(f.length&&isFinite(l)){for(var u=0;u<f.length&&l>=f[u];)u++;d=v[Math.min(u,v.length-1)]}var O=!G(t.prefix)&&!G(t.suffix)&&i===0&&o===100,T=function(R){return p(R,t)+(O?"%":"")};return mt(t,e,s,function(R,A,C,S){if(!isFinite(l))return ht(e,R,A,C,S);var g=Math.min(C/2,S-22),V=g*.16,k=g-V/2,x=R+C/2,E=A+g,y=st((l-i)/(o-i),0,1),m=function(Y,X){var tt=Math.PI*(1-Y);return[x+X*Math.cos(tt),E-X*Math.sin(tt)]},z="M"+a(x-k)+","+a(E)+"A"+a(k)+","+a(k)+" 0 0 1 "+a(x+k)+","+a(E),b='<path d="'+z+'" fill="none" stroke="'+d+'" stroke-opacity=".16" stroke-width="'+a(V)+'" stroke-linecap="round"/>';f.length&&f.forEach(function(Y){var X=st((Y-i)/(o-i),0,1),tt=m(X,k-V/2-3),it=m(X,k-V/2-8);b+='<line x1="'+a(tt[0])+'" y1="'+a(tt[1])+'" x2="'+a(it[0])+'" y2="'+a(it[1])+'" stroke="'+e.muted+'" stroke-width="1.5"/>'}),y>0&&(b+='<path d="'+z+'" fill="none" stroke="'+d+'" stroke-width="'+a(V)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(y*100)+' 100"'+ut(t,"bzc-s")+"/>");var w=m(y,k);if(b+='<circle cx="'+a(w[0])+'" cy="'+a(w[1])+'" r="'+a(V*.26)+'" fill="'+(t.background||e.tile)+'"'+ut(t,"bzc-a",.9)+"/>",G(t.goal)){var M=st((+t.goal-i)/(o-i),0,1),B=m(M,k+V/2+4),I=m(M,k-V/2-4);b+='<line x1="'+a(B[0])+'" y1="'+a(B[1])+'" x2="'+a(I[0])+'" y2="'+a(I[1])+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return b+=F(x,E-g*.12,T(l),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Mt+'" font-size="'+a(g*.34)+'" font-weight="800"'),n[0]&&(b+=F(x,E-g*.12+16,n[0],D(e,10,'text-anchor="middle"'))),b+=F(x-k,E+18,p(i,t,!0),D(e,10,'text-anchor="middle"'))+F(x+k,E+18,p(o,t,!0),D(e,10,'text-anchor="middle"')),b+=St(x-g,E-g,g*2,g,(n[0]?n[0]+": ":"")+T(l)+" (range "+p(i,t)+" to "+p(o,t)+")"+(G(t.goal)?`
18
+ Goal: `+p(+t.goal,t):"")),b},{summary:isFinite(l)?T(l)+" on a scale of "+p(i,t)+" to "+p(o,t):"no data"})}Ae.table=function(t){var e=gt(t.values),r=e.length?e[0]:Z(t.value,NaN),l=q(t.labels),n=Z(t.min,0),i=Z(t.max,100),o=!G(t.prefix)&&!G(t.suffix)&&n===0&&i===100;return isFinite(r)?{head:["Label","Value"],rows:[[l[0]||"Reading",p(r,t)+(o?"%":"")],["Lowest",p(n,t)],["Highest",p(i,t)]].concat(G(t.goal)?[["Goal",p(+t.goal,t)]]:[])}:{head:["Label","Value"],rows:[]}};pt("gauge",Ae);dt("gauge");function Te(t,e){var r=gt(t.values).map(function(C){return Math.max(0,C)}),l=q(t.labels),n=ct(t,e),i=r.length===1,o=Vt(r),s=G(t.max)?Z(t.max,100):i?100:o;s>0||(s=1);var f=!G(t.prefix)&&!G(t.suffix)&&s===100&&i,c=function(C){return p(C,t)+(f?"%":"")},v=Jt(t),d=v.w,u=0,O=[];if(!i&&r.length){var T=0;u=1,r.forEach(function(C,S){var g=l[S]||"#"+(S+1),V=14+vt(g,12)+6+vt(p(C,t),11,!0)+18;T>0&&T+V>d&&(T=0,u++),O.push({x:T,row:u-1,l:g}),T+=V})}var R=36+(u?12+u*20:0),A=At(r,t,"");return mt(t,e,R,function(C,S,g,V){if(!r.length)return ht(e,C,S,g,V);var k="",x=S+22,E=Rt("c"),y=i?c(r[0])+(f?"":" of "+p(s,t)):p(o,t)+" of "+p(s,t);i&&l[0]&&(k+=F(C,S+11,l[0],'fill="'+e.fg+'" font-family="'+Mt+'" font-size="12"')),k+=F(C+g,S+11,y,'text-anchor="end" fill="'+e.fg+'" font-family="'+Ot+'" font-size="11" font-weight="600"'),k+='<rect x="'+C+'" y="'+x+'" width="'+g+'" height="14" rx="7" fill="'+e.grid+'" fill-opacity=".7"/>',k+='<clipPath id="'+E+'"><rect x="'+C+'" y="'+x+'" width="'+g+'" height="14" rx="7"/></clipPath><g clip-path="url(#'+E+')"><g'+ut(t,"bzc-gx")+">";var m=0;if(r.forEach(function(b,w){var M=Math.min(b,Math.max(0,s-m))/s*g;M>0&&(k+='<rect x="'+a(C+m/s*g)+'" y="'+x+'" width="'+a(M)+'" height="14" fill="'+n[w%n.length]+'"/>'),w>0&&M>0&&(k+='<rect x="'+a(C+m/s*g-1)+'" y="'+x+'" width="2" height="14" fill="'+(t.background||e.tile)+'"/>'),m+=b}),k+="</g></g>",G(t.goal)){var z=C+st(+t.goal/s,0,1)*g;k+='<line x1="'+a(z)+'" x2="'+a(z)+'" y1="'+(x-4)+'" y2="'+(x+18)+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return m=0,r.forEach(function(b,w){var M=Math.min(b,Math.max(0,s-m))/s*g;M>0&&(k+=St(C+m/s*g,x-4,M,22,(l[w]||(i?"Progress":"#"+(w+1)))+": "+c(b)+(i?"":" ("+Math.round(b/s*100)+"%)"))),m+=b}),O.forEach(function(b,w){var M=C+b.x,B=x+14+12+b.row*20+8;k+='<circle cx="'+a(M+4)+'" cy="'+a(B)+'" r="4" fill="'+n[w%n.length]+'"/><text x="'+a(M+14)+'" y="'+a(B+4)+'" fill="'+e.fg+'" font-family="'+Mt+'" font-size="12">'+kt(b.l)+'<tspan dx="6" fill="'+e.muted+'" font-family="'+Ot+'" font-size="11">'+kt(p(r[w],t))+"</tspan></text>"}),k},{stat:A,summary:i?c(r[0])+(f?"":" of "+p(s,t)):p(o,t)+" of "+p(s,t)})}Te.table=function(t){var e=gt(t.values).map(function(o){return Math.max(0,o)}),r=q(t.labels),l=e.length===1,n=G(t.max)?Z(t.max,100):l?100:Vt(e);n>0||(n=1);var i=!G(t.prefix)&&!G(t.suffix)&&n===100&&l;return l?{head:["Label","Value"],rows:[[r[0]||"Progress",p(e[0],t)+(i?"%":" of "+p(n,t))]]}:{head:["Label","Value","Share"],rows:e.map(function(o,s){return[r[s]||"#"+(s+1),p(o,t),Math.round(o/n*100)+"%"]})}};pt("progress",Te);dt("progress");var lr={weekday:"short",day:"numeric",month:"short",year:"numeric"};function or(t,e){if(G(t.start)&&/^\d{4}-\d{2}-\d{2}$/.test(String(t.start)))return new Date(String(t.start)+"T00:00:00Z");var r=new Date;return new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())-Math.max(0,e-1)*864e5)}function sr(t,e){try{return new Intl.DateTimeFormat(t,Object.assign({timeZone:"UTC"},e))}catch{return new Intl.DateTimeFormat("en-GB",Object.assign({timeZone:"UTC"},e))}}function Ce(t,e){var r=gt(t.values),l=ct(t,e)[0],n=t.lang||"en-GB",i=or(t,r.length),o=(i.getUTCDay()+6)%7,s=Math.max(1,Math.ceil((o+r.length)/7)),f=Jt(t),c=28,v=Math.max(1,Math.floor((f.w-c)/10));if(s>v){var d=(s-v)*7-o;r=r.slice(d),i=new Date(i.getTime()+d*864e5),o=0,s=v}var u=Math.min(18,(f.w-c)/s),O=u<8?1:3,T=u-O,R=16+7*u+26,A=r.length?Math.max.apply(null,r):0,C=function(x){return sr(n,x)},S=C({month:"short"}),g=C({weekday:"short"}),V=C(lr),k=At(r,t,"");return mt(t,e,R,function(x,E,y,m){if(!r.length)return ht(e,x,E,y,m);var z="",b=x+c,w=E+16,M=-99,B=[.28,.5,.75,1];u>=9&&[0,2,4].forEach(function(et){var xt=new Date(Date.UTC(2024,0,1+et));z+=F(x,w+et*u+T/2+3.5,g.format(xt),D(e,9))});for(var I=0;I<r.length;I++){var Y=o+I,X=Math.floor(Y/7),tt=Y%7,it=new Date(i.getTime()+I*864e5),h=b+X*u,U=w+tt*u;(it.getUTCDate()===1||I===0)&&h-M>30&&(z+=F(h,E+9,S.format(it),D(e,9)),M=h);var H=r[I]<=0||!A?0:Math.ceil(r[I]/A*4),at=H?l:e.grid,j=H?B[H-1]:.7;z+='<rect x="'+a(h)+'" y="'+a(U)+'" width="'+a(T)+'" height="'+a(T)+'" rx="'+a(T*.24)+'" fill="'+at+'" fill-opacity="'+j+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(X*.012)+'s"':"")+' data-tip="'+kt(V.format(it)+": "+p(r[I],t))+'"/>'}var L=w+7*u+14,$=10,P=x+y-5*($+3)-30;z+=F(x,L+8,p(Vt(r),t,!0)+" in "+r.length+" days",D(e,10)),z+=F(P-6,L+8,"Less",D(e,9,'text-anchor="end"'));for(var ft=0;ft<5;ft++)z+='<rect x="'+a(P+ft*($+3))+'" y="'+L+'" width="'+$+'" height="'+$+'" rx="2.5" fill="'+(ft?l:e.grid)+'" fill-opacity="'+(ft?B[ft-1]:.7)+'"/>';return z+=F(P+5*($+3)+3,L+8,"More",D(e,9)),z},{stat:k,summary:p(Vt(r),t)+" across "+r.length+" days"})}Ce.table=function(t){var e=gt(t.values),r=or(t,e.length),l=sr(t.lang||"en-GB",lr);return{head:["Date","Value"],rows:e.map(function(n,i){return[l.format(new Date(r.getTime()+i*864e5)),p(n,t)]})}};pt("heatmap",Ce);dt("heatmap");var Gr="1.6.0",Rr=pe.slice();return yr(Vr);})();