courthive-components 6.6.0 → 6.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17805,8 +17805,8 @@ function oO(e) {
17805
17805
  }
17806
17806
  var sO = {
17807
17807
  name: "courthive-components",
17808
- packageManager: "pnpm@12.9.1",
17809
- version: "6.6.0",
17808
+ packageManager: "pnpm@12.10.1",
17809
+ version: "6.6.1",
17810
17810
  engines: { node: ">=22" },
17811
17811
  description: "Components for competitions projects",
17812
17812
  files: ["dist"],
@@ -17879,8 +17879,8 @@ var sO = {
17879
17879
  "@types/d3": "^7.4.3",
17880
17880
  "@types/leaflet": "^1.9.12",
17881
17881
  "@types/vanillajs-datepicker": "^1.3.5",
17882
- "@typescript-eslint/eslint-plugin": "8.71.0",
17883
- "@typescript-eslint/parser": "8.71.0",
17882
+ "@typescript-eslint/eslint-plugin": "8.71.1",
17883
+ "@typescript-eslint/parser": "8.71.1",
17884
17884
  "@vitest/browser": "^5.0.3",
17885
17885
  "@vitest/browser-playwright": "^5.0.3",
17886
17886
  "@vitest/coverage-v8": "^5.0.0",
@@ -17899,9 +17899,9 @@ var sO = {
17899
17899
  semver: "7.8.5",
17900
17900
  storybook: "^10.2.17",
17901
17901
  "tabulator-tables": "6.6.1",
17902
- "tods-competition-factory": "7.11.0",
17902
+ "tods-competition-factory": "7.12.0",
17903
17903
  typescript: "^6.0.2",
17904
- vite: "8.3.2",
17904
+ vite: "8.3.4",
17905
17905
  "vite-plugin-dts": "^5.0.0",
17906
17906
  vitest: "^5.0.0"
17907
17907
  },
@@ -211,7 +211,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
211
211
  `,`Instead, pass the .innerHTML of the element, or use a function that`,`returns a cloned version of the element instead.`,`
212
212
 
213
213
  `,`1) content: element.innerHTML
214
- `,`2) content: () => element.cloneNode(true)`].join(` `))}var s=i.reduce(function(e,t){var n=t&&oy(t,r);return n&&e.push(n),e},[]);return gv(e)?s[0]:s}sy.defaultProps=Wv,sy.setDefaultProps=Kv,sy.currentInput=Dv,Object.assign({},xg,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),sy.setDefaultProps({render:ny});var cy=`#000000.#434343.#666666.#999999.#b7b7b7.#cccccc.#d9d9d9.#ffffff.#980000.#ff0000.#ff9900.#ffff00.#00ff00.#00ffff.#4a86e8.#0000ff.#9900ff.#ff00ff.#e6b8af.#f4cccc.#fce5cd.#fff2cc.#d9ead3.#d0e0e3.#c9daf8.#cfe2f3.#d9d2e9.#ead1dc`.split(`.`),ly=`notes-toolbar-recent-colors`,uy=8;function dy(){try{return JSON.parse(localStorage.getItem(ly)||`[]`)}catch{return[]}}function fy(e){let t=dy().filter(t=>t!==e);t.unshift(e),t.length>uy&&(t=t.slice(0,uy)),localStorage.setItem(ly,JSON.stringify(t))}function py(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(vy(e)),t.appendChild(yy(e)),t.appendChild(by(e)),t.appendChild(wy(e)),t.appendChild(Dy(e)),t.appendChild(Oy(e)),t.appendChild(Ay(e)),t}function my(e,t){for(let[n,r]of Object.entries(t)){let t=e.querySelector(`[data-action="${n}"]`);t&&t.classList.toggle(`is-active`,r)}}function hy(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function gy(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function _y(e,t,n,r){let i=document.createElement(`button`);return i.className=`notes-toolbar-btn`,i.dataset.action=e,i.title=n,i.type=`button`,i.innerHTML=t,r&&i.addEventListener(`click`,r),i}function vy(e){let t=gy(),n=document.createElement(`select`);n.dataset.action=`heading`,n.title=`Text style`;for(let e of[{value:`0`,label:`Paragraph`},{value:`1`,label:`Heading 1`},{value:`2`,label:`Heading 2`},{value:`3`,label:`Heading 3`},{value:`4`,label:`Heading 4`},{value:`5`,label:`Heading 5`},{value:`6`,label:`Heading 6`}]){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,n.appendChild(t)}return n.addEventListener(`change`,()=>{let t=parseInt(n.value,10);e.onHeading?.(t!==0&&t)}),t.appendChild(n),t}function yy(e){let t=gy();return t.appendChild(_y(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(_y(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(_y(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(_y(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function by(e){let t=gy();return t.appendChild(xy(`color`,`A`,`Text color`,`#000000`,t=>{fy(t),e.onColor?.(t)})),t.appendChild(xy(`background`,`A`,`Background color`,`#ffff00`,t=>{fy(t),e.onBackground?.(t)})),t}function xy(e,t,n,r,i){let a=document.createElement(`button`);a.className=`notes-toolbar-btn notes-toolbar-color-btn`,a.dataset.action=e,a.title=n,a.type=`button`;let o=document.createElement(`span`);o.className=`notes-toolbar-color-letter`,o.textContent=t,a.appendChild(o);let s=document.createElement(`span`);s.className=`notes-toolbar-color-bar`,s.style.backgroundColor=r,a.appendChild(s);let c;return a.addEventListener(`click`,()=>{if(c){c.destroy(),c=void 0;return}let e=Sy(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=sy(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Sy(e,t){let n=document.createElement(`div`);n.className=`notes-color-panel`;let r=document.createElement(`div`);r.className=`notes-color-swatches`;for(let n of cy)r.appendChild(Cy(n,n===e,t));n.appendChild(r);let i=dy();if(i.length){let r=document.createElement(`div`);r.className=`notes-color-section-label`,r.textContent=`Recent`,n.appendChild(r);let a=document.createElement(`div`);a.className=`notes-color-swatches`;for(let n of i)a.appendChild(Cy(n,n===e,t));n.appendChild(a)}let a=document.createElement(`div`);a.className=`notes-color-custom-row`;let o=document.createElement(`input`);o.type=`color`,o.value=e,o.className=`notes-color-custom-input`;let s=document.createElement(`label`);return s.className=`notes-color-custom-label`,s.textContent=`Custom...`,s.addEventListener(`click`,()=>o.click()),o.addEventListener(`input`,()=>t(o.value)),a.appendChild(o),a.appendChild(s),n.appendChild(a),n}function Cy(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=`notes-color-swatch`,t&&r.classList.add(`is-selected`),r.style.backgroundColor=e,(e===`#ffffff`||e===`#fff`)&&(r.style.border=`1px solid var(--chc-border-secondary)`),r.title=e,r.addEventListener(`click`,()=>n(e)),r}function wy(e){let t=gy();return t.appendChild(_y(`orderedList`,Ty(16,16,`<path d="M3 2h12v2H3zm0 5h12v2H3zm0 5h12v2H3z" fill="currentColor"/><text x="0" y="4" font-size="3.5" fill="currentColor">1</text><text x="0" y="9" font-size="3.5" fill="currentColor">2</text><text x="0" y="14" font-size="3.5" fill="currentColor">3</text>`),`Ordered list`,e.onOrderedList)),t.appendChild(_y(`bulletList`,Ty(16,16,`<circle cx="1.5" cy="3" r="1.5" fill="currentColor"/><circle cx="1.5" cy="8" r="1.5" fill="currentColor"/><circle cx="1.5" cy="13" r="1.5" fill="currentColor"/><path d="M5 2h10v2H5zm0 5h10v2H5zm0 5h10v2H5z" fill="currentColor"/>`),`Bullet list`,e.onBulletList)),t}function Ty(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var Ey={alignLeft:Ty(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Ty(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Ty(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Ty(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function Dy(e){let t=gy();return t.appendChild(_y(`alignLeft`,Ey.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(_y(`alignCenter`,Ey.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(_y(`alignRight`,Ey.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(_y(`alignJustify`,Ey.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function Oy(e){let t=gy();t.appendChild(_y(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(_y(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=_y(`link`,`⇗`,`Insert link`);ky(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=_y(`video`,`▷`,`Insert video`);return ky(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function ky(e,t,n,r){let i;e.addEventListener(`click`,()=>{if(i){i.destroy(),i=void 0;return}let a=document.createElement(`div`);a.className=`notes-url-panel`;let o=document.createElement(`div`);o.className=`notes-url-label`,o.textContent=t,a.appendChild(o);let s=document.createElement(`input`);s.type=`url`,s.className=`notes-url-input`,s.placeholder=n,a.appendChild(s);let c=document.createElement(`div`);c.className=`notes-url-actions`;let l=document.createElement(`button`);l.type=`button`,l.className=`button notes-url-cancel`,l.textContent=`Cancel`,l.addEventListener(`click`,()=>{i?.destroy(),i=void 0});let u=document.createElement(`button`);u.type=`button`,u.className=`button is-info notes-url-confirm`,u.textContent=`Insert`,u.addEventListener(`click`,()=>{let e=s.value.trim();e&&r(e),i?.destroy(),i=void 0}),c.appendChild(l),c.appendChild(u),a.appendChild(c),s.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),u.click()):e.key===`Escape`&&l.click()}),i=sy(e,{content:a,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onShown:()=>setTimeout(()=>s.focus(),0),onHidden:()=>{i?.destroy(),i=void 0}}),i.show()})}function Ay(e){let t=gy();return t.appendChild(_y(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function jy(e={}){let t=document.createElement(`div`);t.className=`notes-editor-content`;let l={toolbar:void 0,editorElement:t,editor:void 0,getHtml:()=>l.editor&&!l.editor.isEmpty?l.editor.getHTML():``,isEmpty:()=>!l.editor||l.editor.isEmpty,destroy:()=>{l.editor?.destroy(),l.editor=void 0}};l.toolbar=py({onHeading:e=>{l.editor&&(e===!1?l.editor.chain().focus().setParagraph().run():l.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>l.editor?.chain().focus().toggleBold().run(),onItalic:()=>l.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>l.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>l.editor?.chain().focus().toggleStrike().run(),onColor:e=>l.editor?.chain().focus().setColor(e).run(),onBackground:e=>l.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>l.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>l.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>l.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>l.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>l.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>l.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>l.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>l.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let u=()=>{if(l.editor){my(l.toolbar,{bold:l.editor.isActive(`bold`),italic:l.editor.isActive(`italic`),underline:l.editor.isActive(`underline`),strike:l.editor.isActive(`strike`),orderedList:l.editor.isActive(`orderedList`),bulletList:l.editor.isActive(`bulletList`),blockquote:l.editor.isActive(`blockquote`),codeBlock:l.editor.isActive(`codeBlock`),alignLeft:l.editor.isActive({textAlign:`left`}),alignCenter:l.editor.isActive({textAlign:`center`}),alignRight:l.editor.isActive({textAlign:`right`}),alignJustify:l.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(l.editor.isActive(`heading`,{level:e})){hy(l.toolbar,e);return}hy(l.toolbar,!1)}};return requestAnimationFrame(()=>{l.editor=new r.Editor({element:t,extensions:[o.default,i.TextStyle,n.Color,a.default.configure({multicolor:!0}),s.default.configure({types:[`heading`,`paragraph`]}),c.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:u,onTransaction:u})}),l}function My(e,t,n){if(!e)return{};let r=document.createElement(`aside`);r.classList.add(`menu`);let i={},a=e=>n&&e.close!==!1?t=>{t.stopPropagation(),n(),e.onClick()}:t=>{t.stopPropagation(),e.onClick()},o=0,s=()=>(o+=1,o),c=e=>e?.heading||e?.text||e?.label||`Item ${s()}`,l=e=>{let t=document.createElement(`li`);if(t.className=`font-medium`,e.style&&(t.style.cssText=e.style),e.onClick){let n=e.fontSize||`1em`;if(e.divider){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),t.appendChild(e)}else{let r=document.createElement(`a`),i=e.disabled?`0.4`:`1`;r.style.cssText=`text-decoration: none; opacity: ${i}; font-size: ${n}`,e.class&&r.classList.add(e.class),e.color&&(r.style.color=e.color),e.heading&&(r.style.fontWeight=`bold`),e.disabled||(r.onclick=a(e)),r.innerHTML=c(e),t.appendChild(r)}}else t.innerHTML=c(e),e.disabled||(t.onclick=e.onClick);return t},u;for(let e of t||[])if(!e.hide){if(e.items){if(e.text){let t=document.createElement(`p`);t.className=`menu-label font-medium`,t.innerHTML=e.text,r.appendChild(t)}let t=document.createElement(`ul`);t.className=`menu-list`;for(let n of e.items)n.hide||t.appendChild(l(n));r.appendChild(t)}else if(e.type===`input`){let{field:t,inputElement:n}=mn(e);e.focus&&(u=n),i[e.field]=n,r.appendChild(t)}else if(e.type===`divider`){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),r.appendChild(e)}}return e.appendChild(r),{focusElement:u}}function Ny(e){return typeof e==`function`}var Py;function Fy(e){Py&&=(Py?.destroy(!0),void 0),e?.remove&&e.remove()}function Iy(e){let{title:t,options:n,menuItems:r=[],coords:i,callback:a,config:o}=e,{target:s,items:c}=e;if(!n?.length&&!c?.length&&!r)return;Fy();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(Py=sy(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{Fy(l),Ny(e.onClick)&&e.onClick()}}))||n?.filter(e=>!e.hide&&!e.disabled).map(e=>({text:typeof e==`object`?e.option:e,style:e.style,onClick:()=>{e.subMenu?Py.setContent(`IMPLEMENT SUB MENU`):Ny(e.onClick)?(Fy(l),e.onClick()):Ny(a)&&a&&(Fy(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=My(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),Py.show(),Py.setProps({interactive:!0})),Py}var Y=`court-line`;function X(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function Ly(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return n.setAttribute(`viewBox`,e),n.setAttribute(`class`,t),n.setAttribute(`fill`,`none`),n.style.width=`100%`,n.style.height=`auto`,n.style.display=`block`,n}function Ry(e){let t=Ly(`0 0 360 780`,e);for(let e of[`M 0 0 L 360 0 L 360 780 L 0 780 Z`,`M 45 0 L 45 780`,`M 315 0 L 315 780`,`M 0 390 L 360 390`,`M 45 210 L 315 210`,`M 45 570 L 315 570`,`M 180 210 L 180 570`,`M 180 0 L 180 20`,`M 180 760 L 180 780`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function zy(e){let t=Ly(`0 0 500 470`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:Y}),X(`circle`,{cx:`250`,cy:`470`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:Y}),X(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:Y}),X(`circle`,{cx:`250`,cy:`190`,r:`60`,class:Y}),X(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:Y}),X(`circle`,{cx:`250`,cy:`52`,r:`12`,class:Y}),X(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:Y})];for(let e of n)t.appendChild(e);return t}function By(e){let t=Ly(`0 0 500 440`,e),n=[X(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:Y}),X(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:Y}),X(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:Y}),X(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:Y}),X(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:Y}),X(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:Y}),X(`circle`,{cx:`250`,cy:`340`,r:`9`,class:Y}),X(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:Y}),X(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:Y}),X(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:Y}),X(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:Y}),X(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:Y}),X(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:Y}),X(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:Y})];for(let e of n)t.appendChild(e);return t}function Vy(e){let t=Ly(`0 0 850 2000`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:Y}),X(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:Y}),X(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:Y}),X(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:Y}),X(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:Y}),X(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:Y}),X(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:Y}),X(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:Y}),X(`circle`,{cx:`270`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:Y})];for(let e of n)t.appendChild(e);return t}function Hy(e){let t=Ly(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 0 220 L 200 220`,`M 0 150 L 200 150`,`M 0 290 L 200 290`,`M 100 0 L 100 150`,`M 100 290 L 100 440`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function Uy(e){let t=Ly(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 18 0 L 18 440`,`M 182 0 L 182 440`,`M 0 220 L 200 220`,`M 0 146 L 200 146`,`M 0 294 L 200 294`,`M 0 30 L 200 30`,`M 0 410 L 200 410`,`M 100 146 L 100 220`,`M 100 220 L 100 294`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function Wy(e){let t=Ly(`0 0 100 200`,e);for(let e of[`M 0 0 L 100 0 L 100 200 L 0 200 Z`,`M 0 100 L 100 100`,`M 0 69.5 L 100 69.5`,`M 0 130.5 L 100 130.5`,`M 50 69.5 L 50 67.5`,`M 50 130.5 L 50 132.5`])t.appendChild(X(`path`,{d:e,class:Y}));return t}var Gy=`COURT_SVG`,Ky={tennis:Ry,basketball:zy,baseball:By,hockey:Vy,pickleball:Hy,badminton:Uy,padel:Wy},qy={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},Jy={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function Yy(e){if(e){for(let[t,n]of Object.entries(Jy))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function Xy(e){let t=e?.competitionFormat?.sport;return t&&qy[t]?qy[t]:Yy(e?.matchUpFormat)}function Zy(e){let t=e.getAttribute(`viewBox`);if(!t)return e;let n=t.split(/\s+/).map(Number);if(n.length!==4)return e;let[r,i,a,o]=n;if(o<=a)return e;e.setAttribute(`viewBox`,`${r} ${i} ${o} ${a}`);let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(s.setAttribute(`transform`,`translate(${o}, 0) rotate(90)`);e.firstChild;)s.appendChild(e.firstChild);return e.appendChild(s),e}function Qy(e,t=``){let n=e?Ky[e]:void 0;if(n)return Zy(n(t?`court--${e} ${t}`:`court--${e}`))}function $y(e){let t=[];return e.city&&t.push(e.city),(e.state||e.region)&&t.push(e.state||e.region),e.countryCode?t.push(e.countryCode):e.country&&t.push(e.country),t.join(`, `)}function eb(e){if(!e)return;let t=$y(e);return t.length?t:void 0}function tb(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?eb(n)??t.venueName:t.venueName}var nb=/^(\d{4})-(\d{2})-(\d{2})/,rb=864e5;function ib(e){if(!e)return null;let t=nb.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?null:{year:n,month:r,day:i}}function ab(e,t){if(!t)return new Date(e.year,e.month-1,e.day);let n=Date.UTC(e.year,e.month-1,e.day,0,0,0,0),r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),i=new Date(n);for(let e=0;e<2;e++){let e=r.formatToParts(i),t=t=>Number(e.find(e=>e.type===t)?.value??0),a=Date.UTC(t(`year`),t(`month`)-1,t(`day`),t(`hour`),t(`minute`),t(`second`))-i.getTime();i=new Date(n-a)}return i}function ob(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=ab(e,t),r=new Date(n.getTime()+rb),i=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(r),a=e=>Number(i.find(t=>t.type===e)?.value??0);return ab({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function sb(e){if(!e)return null;let t=ib(e);if(t)return new Date(t.year,t.month-1,t.day);let n=new Date(e);return Number.isNaN(n.getTime())?null:n}function cb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function lb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function ub(e,t){if(!e&&!t)return;let n=sb(e),r=sb(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(i||a)return i&&a&&n.getTime()===r.getTime()?lb(n):i&&a?n.getFullYear()===r.getFullYear()?`${cb(n)} – ${cb(r)}, ${r.getFullYear()}`:`${lb(n)} – ${lb(r)}`:lb(i?n:r)}function db(e){return e.slice().sort((e,t)=>{let n=e.courtOrder,r=t.courtOrder;return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number.isFinite(n)&&!Number.isFinite(r)?-1:!Number.isFinite(n)&&Number.isFinite(r)?1:e.courtName.localeCompare(t.courtName,void 0,{numeric:!0})})}var fb=`URL`;function pb(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===fb);return n?.url??n?.identifier}function mb(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function hb(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function gb(...e){for(let t of e){let e=hb(t);if(e!==void 0)return e}}function _b(e){let t=document.createElement(`div`);if(t.className=e.cardClass,t.setAttribute(`aria-busy`,`true`),e.showImage){let n=document.createElement(`div`);n.className=e.imageClass;let r=document.createElement(`div`);r.className=e.blockClass,n.appendChild(r),t.appendChild(n)}if(e.bodyLines>0){let n=document.createElement(`div`);n.className=e.bodyClass;for(let t=0;t<e.bodyLines;t++){let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=t===0?`90%`:`${60+t*10}%`,n.appendChild(r)}t.appendChild(n)}if(e.showFooter){let n=document.createElement(`div`);n.className=e.footerClass;let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=`40%`,n.appendChild(r),t.appendChild(n)}return t}var vb={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function yb(e){return e?{showImage:e.showImage??vb.showImage,cornerBadges:e.cornerBadges??vb.cornerBadges,body:e.body??vb.body,footer:e.footer??vb.footer}:vb}var bb=()=>`chc-tc-card`,xb=()=>`chc-tc-card--clickable`,Sb=()=>`chc-tc-card--offline`,Cb=()=>`chc-tc-image`,wb=()=>`chc-tc-image-img`,Tb=()=>`chc-tc-image-svg`,Eb=()=>`chc-tc-image-placeholder`,Db=()=>`chc-tc-corner-badges`,Ob=()=>`chc-tc-status-pill`,kb=()=>`chc-tc-offline-badge`,Ab=()=>`chc-tc-body`,jb=()=>`chc-tc-title`,Mb=()=>`chc-tc-location`,Nb=()=>`chc-tc-date-range`,Pb=()=>`chc-tc-organizer`,Fb=()=>`chc-tc-updated-at`,Ib=()=>`chc-tc-footer`,Lb=()=>`chc-tc-fee-badge`,Rb=()=>`chc-tc-player-count`,zb=()=>`chc-tc-event-count`,Bb=()=>`chc-tc-tier-badge`,Vb=()=>`chc-tc-card chc-tc-skeleton`,Hb=()=>`chc-tc-skeleton-line`,Ub=()=>`chc-tc-skeleton-block`;function Wb(e,t,n){let r=yb(t),i=document.createElement(`div`);return i.className=bb(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Sb()),n?.onClick&&(i.classList.add(xb()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(Gb(e,r)),r.body.length&&i.appendChild(Xb(e,r)),r.footer.length&&i.appendChild(ix(e,r)),i}function Gb(e,t){let n=document.createElement(`div`);if(n.className=Cb(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=wb(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>qb(n,e)),n.appendChild(t)}else Kb(n,e);if(t.cornerBadges.length){let r=Jb(e,t.cornerBadges);r&&n.appendChild(r)}return n}function Kb(e,t){let n=Qy(t.courtSvgSport,Tb());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Eb(),e.appendChild(r)}function qb(e,t){e.querySelector(`.${wb()}`)?.remove(),Kb(e,t)}function Jb(e,t){let n=[];for(let r of t){let t=Yb(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Db();for(let e of n)r.appendChild(e);return r}function Yb(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=Ob(),e.dataset.kind=t.status.kind,e.textContent=t.status.label,e}if(e===`offline`){if(!t.offline)return null;let e=document.createElement(`div`);return e.className=kb(),e.textContent=`Offline`,e}return null}function Xb(e,t){let n=document.createElement(`div`);n.className=Ab();for(let r of t.body){let t=Zb(r,e);t&&n.appendChild(t)}return n}function Zb(e,t){switch(e){case`title`:return Qb(t);case`tier`:return $b(t);case`location`:return ex(t);case`dateRange`:return tx(t);case`organizerName`:return nx(t);case`updatedAt`:return rx(t);default:return null}}function Qb(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=jb(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function $b(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=Bb(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function ex(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=Mb(),t.textContent=e.location,t.title=e.location,t}function tx(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=Nb(),t.textContent=e.dateRangeFormatted,t}function nx(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=Pb(),t.textContent=e.organizerName,t}function rx(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=Fb();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function ix(e,t){let n=document.createElement(`div`);n.className=Ib();for(let r of t.footer){let t=ax(r,e);t&&n.appendChild(t)}return n}function ax(e,t){switch(e){case`feeBadge`:return ox(t);case`playerCount`:return sx(t);case`eventCount`:return cx(t);default:return null}}function ox(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=Lb(),t.textContent=e.feeFormatted,t}function sx(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=Rb(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function cx(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=zb(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function lx(e){let t=yb(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:Vb(),imageClass:Cb(),bodyClass:Ab(),footerClass:Ib(),blockClass:Ub(),lineClass:Hb()})}var ux=6048e5;function dx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function fx(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function px(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function mx(e,t=new Date){let n=e.tournamentStatus?.toUpperCase();if(n===`CANCELLED`||n===`ABANDONDED`||n===`ABANDONED`)return{kind:`cancelled`,label:`Cancelled`};let r=e.timeZone,i=ib(e.endDate),a=i?ob(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=ib(e.startDate);if(fx(t,o?ab(o,r):null,a))return{kind:`live`,label:`Live`};let s=dx(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=ux)return{kind:`closing-soon`,label:`Closing Soon`}}let c=dx(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:px(c)}:null}var hx=`–`,gx={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function _x({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(gx[t]??2)}function vx(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function yx(e){let t=[];for(let n of e)typeof n?.amount!=`number`||Number.isNaN(n.amount)||n.currencyCode&&n.unit&&t.push({amount:n.amount,currencyCode:n.currencyCode,unit:n.unit});return t}function bx(e){if(!e?.length)return null;let t=yx(e);if(!t.length)return null;let n=new Map;for(let e of t){let t=`${e.currencyCode}/${e.unit}`,r=n.get(t);r?r.push(e):n.set(t,[e])}let r=[...n.values()].sort((e,t)=>t.length-e.length),i=r[0],a=i[0].currencyCode,o=i.map(_x).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${vx(s,a)}`:s===c?`${a} ${vx(s,a)}`:`${a} ${vx(s,a)} ${hx} ${vx(c,a)}`}var xx=`tournamentImage`;function Sx(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function Cx(e,t){let n=e?.individualParticipantCount;return typeof n==`number`?n||void 0:t.filter(e=>(!e?.participantType||e.participantType===`INDIVIDUAL`)&&(!e?.participantRole||e.participantRole===`COMPETITOR`)).length||void 0}function wx(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Tx(e,t){let n=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,r=Array.isArray(e?.venues)?e.venues:[],i=Array.isArray(e?.participants)?e.participants:[],a=Array.isArray(e?.events)?e.events:[],o=t?.statusOverride===void 0?mx({tournamentStatus:e?.tournamentStatus,startDate:e?.startDate,endDate:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:e?.localTimeZone||e?.timeZone},t?.now):t.statusOverride,s=e?.tournamentImageURL??pb(n,xx),c=e?.courtSvgSport??mb(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:ub(e?.startDate,e?.endDate),location:tb(r),tournamentImageURL:s,courtSvgSport:c,participantCount:Cx(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:bx(Sx(e)),updatedAt:e?.updatedAt,offline:wx(e),tournamentTier:Ex(e)}}function Ex(e){let t=e?.tournamentTier;if(!t||typeof t!=`object`||typeof t.system!=`string`||typeof t.value!=`string`)return;let n={system:t.system,value:t.value};return typeof t.numericRank==`number`&&Number.isFinite(t.numericRank)&&(n.numericRank=t.numericRank),n}var Dx={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function Ox(e){return e?{showImage:e.showImage??Dx.showImage,showMap:e.showMap??Dx.showMap,cornerBadges:e.cornerBadges??Dx.cornerBadges,body:e.body??Dx.body,footer:e.footer??Dx.footer}:Dx}var kx=()=>`chc-vc-card`,Ax=()=>`chc-vc-card--clickable`,jx=()=>`chc-vc-image`,Mx=()=>`chc-vc-image-img`,Nx=()=>`chc-vc-image-svg`,Px=()=>`chc-vc-image-map`,Fx=()=>`chc-vc-image-placeholder`,Ix=()=>`chc-vc-corner-badges`,Lx=()=>`chc-vc-primary-badge`,Rx=()=>`chc-vc-body`,zx=()=>`chc-vc-title`,Bx=()=>`chc-vc-address`,Vx=()=>`chc-vc-court-breakdown`,Hx=()=>`chc-vc-footer`,Ux=()=>`chc-vc-amenity-row`,Wx=()=>`chc-vc-amenity`,Gx=()=>`chc-vc-card chc-vc-skeleton`,Kx=()=>`chc-vc-skeleton-line`,qx=()=>`chc-vc-skeleton-block`;function Jx(e,t,n){let r=Ox(t),i=document.createElement(`div`);i.className=kx(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=Qx(e,r,()=>f()),i.appendChild(a));let o=r.body.length?oS(e,r):null;o&&i.appendChild(o);let s=r.footer.length?uS(e,r):null;s&&i.appendChild(s);function c(){return!!a?.querySelector(`iframe`)}let l=new Map;function u(e,t){if(l.has(e))return;let n=e=>{e.stopPropagation(),t()},r=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};e.classList.add(Ax()),e.tabIndex=0,e.addEventListener(`click`,n),e.addEventListener(`keydown`,r),l.set(e,{click:n,keydown:r})}function d(e){let t=l.get(e);t&&(e.removeEventListener(`click`,t.click),e.removeEventListener(`keydown`,t.keydown),e.classList.remove(Ax()),e.removeAttribute(`tabindex`),l.delete(e))}function f(){if(!n?.onClick)return;let t=()=>n.onClick(e);c()?(d(i),o&&u(o,t),s&&u(s,t)):(o&&d(o),s&&d(s),u(i,t))}return f(),i}function Yx(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function Xx(e){let t=e.latitude,n=e.longitude,r=.01,i=`https://www.openstreetmap.org/export/embed.html?bbox=${`${n-r},${t-r},${n+r},${t+r}`}&marker=${t},${n}&layer=mapnik`,a=document.createElement(`iframe`);return a.className=Px(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function Zx(e,t){let n=Qy(t.courtSvgSport,Nx());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Fx(),e.appendChild(r)}function Qx(e,t,n){let r=document.createElement(`div`);if(r.className=jx(),e.venueImageURL){let i=document.createElement(`img`);i.className=Mx(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&Yx(e)?r.appendChild(Xx(e)):Zx(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&Yx(e)?r.appendChild(Xx(e)):Zx(r,e);if(t.cornerBadges.length){let n=eS(e,t.cornerBadges);n&&r.appendChild(n)}return r}function $x(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=Lx(),e.textContent=`Primary`,e}return null}function eS(e,t){let n=[];for(let r of t){let t=$x(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Ix();for(let e of n)r.appendChild(e);return r}function tS(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=zx(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function nS(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=Bx(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function rS(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=Vx(),t.textContent=e.courtBreakdown,t}function iS(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=Vx(),t.textContent=e.venueAbbreviation,t}function aS(e,t){return e===`title`?tS(t):e===`address`?nS(t):e===`courtBreakdown`?rS(t):e===`venueAbbreviation`?iS(t):null}function oS(e,t){let n=document.createElement(`div`);n.className=Rx();for(let r of t.body){let t=aS(r,e);t&&n.appendChild(t)}return n}function sS(e){let t=document.createElement(`span`);return t.className=Wx(),t.textContent=e,t}function cS(e){let t=[];if(typeof e.courtCount==`number`&&t.push(sS(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(sS(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(sS(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(sS(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=Ux();for(let e of t)n.appendChild(e);return n}function lS(e,t){return e===`amenityRow`?cS(t):e===`address`?nS(t):e===`courtBreakdown`?rS(t):null}function uS(e,t){let n=document.createElement(`div`);n.className=Hx();for(let r of t.footer){let t=lS(r,e);t&&n.appendChild(t)}return n}function dS(e){let t=Ox(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:Gx(),imageClass:jx(),bodyClass:Rx(),footerClass:Hx(),blockClass:qx(),lineClass:Kx()})}var fS=`venueImage`;function pS(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function mS(e){if(!e.length)return;let t=new Map;for(let n of e){let e=pS(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${t} ${e}`).join(`, `)}function hS(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function gS(e,t){let n=Array.isArray(e?.courts)?e.courts:[],r=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,i=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:eb(i),latitude:hb(i?.latitude),longitude:hb(i?.longitude),courtCount:n.length||void 0,courtBreakdown:mS(n),indoorCount:hS(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:hS(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:hS(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??pb(r,fS),courtSvgSport:e?.courtSvgSport??mb(r)??t?.sport,notes:e?.notes}}var _S={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function vS(e){return e?{showImage:e.showImage??_S.showImage,cornerBadges:e.cornerBadges??_S.cornerBadges,body:e.body??_S.body,footer:e.footer??_S.footer}:_S}var yS=()=>`chc-cc-card`,bS=()=>`chc-cc-card--clickable`,xS=()=>`chc-cc-image`,SS=()=>`chc-cc-image-svg`,CS=()=>`chc-cc-image-placeholder`,wS=()=>`chc-cc-corner-badges`,TS=()=>`chc-cc-indoor-badge`,ES=()=>`chc-cc-floodlit-badge`,DS=()=>`chc-cc-body`,OS=()=>`chc-cc-title`,kS=()=>`chc-cc-surface`,AS=()=>`chc-cc-availability`,jS=()=>`chc-cc-abbr`,MS=()=>`chc-cc-footer`,NS=()=>`chc-cc-amenity-row`,PS=()=>`chc-cc-card chc-cc-skeleton`,FS=()=>`chc-cc-skeleton-line`,IS=()=>`chc-cc-skeleton-block`;function LS(e,t,n){let r=vS(t),i=document.createElement(`div`);return i.className=yS(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(bS()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(zS(e,r)),r.body.length&&i.appendChild(YS(e,r)),r.footer.length&&i.appendChild(QS(e,r)),i}function RS(e,t){let n=Qy(t.courtSvgSport,SS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=CS(),e.appendChild(r)}function zS(e,t){let n=document.createElement(`div`);if(n.className=xS(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),RS(n,e),t.cornerBadges.length){let r=US(e,t.cornerBadges);r&&n.appendChild(r)}return n}function BS(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=TS(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function VS(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=ES(),t.textContent=`Lit`,t}function HS(e,t){return e===`indoorOutdoor`?BS(t):e===`floodlit`?VS(t):null}function US(e,t){let n=[];for(let r of t){let t=HS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=wS();for(let e of n)r.appendChild(e);return r}function WS(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=OS(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function GS(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=kS(),t.textContent=e.surfaceLabel,t}function KS(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=AS(),t.textContent=e.availabilitySummary,t}function qS(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=jS(),t.textContent=e.courtAbbreviation,t}function JS(e,t){return e===`title`?WS(t):e===`surface`?GS(t):e===`availability`?KS(t):e===`abbreviation`?qS(t):null}function YS(e,t){let n=document.createElement(`div`);n.className=DS();for(let r of t.body){let t=JS(r,e);t&&n.appendChild(t)}return n}function XS(e){let t=[];if(e.indoorOutdoor&&t.push(e.indoorOutdoor===`INDOOR`?`indoor`:`outdoor`),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),e.floodlit&&t.push(`floodlit`),!t.length)return null;let n=document.createElement(`div`);return n.className=NS(),n.textContent=t.join(` · `),n}function ZS(e,t){return e===`amenityRow`?XS(t):e===`availability`?KS(t):e===`surface`?GS(t):null}function QS(e,t){let n=document.createElement(`div`);n.className=MS();for(let r of t.footer){let t=ZS(r,e);t&&n.appendChild(t)}return n}function $S(e){let t=vS(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:PS(),imageClass:xS(),bodyClass:DS(),footerClass:MS(),blockClass:IS(),lineClass:FS()})}var eC=`INDOOR`,tC=`OUTDOOR`,nC=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function rC(e){if(!e)return;let t=String(e).toUpperCase();if(t===eC)return eC;if(t===tC)return tC}function iC(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&nC.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&nC.has(n)?n:t}function aC(e,t){let n=[];return e&&n.push(e.charAt(0)+e.slice(1).toLowerCase()),t&&n.push(t.charAt(0)+t.slice(1).toLowerCase()),n.length?n.join(` · `):void 0}function oC(e,t){let n=rC(e?.indoorOutdoor),r=iC(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:aC(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var sC={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function cC(e){return e?{grouping:e.grouping??sC.grouping,sport:e.sport??sC.sport,showGroupHeadings:e.showGroupHeadings??sC.showGroupHeadings,showSummary:e.showSummary??sC.showSummary,minCardWidth:e.minCardWidth??sC.minCardWidth,emptyMessage:e.emptyMessage??sC.emptyMessage}:sC}var lC=()=>`chc-cl`,uC=()=>`chc-cl-summary`,dC=()=>`chc-cl-summary-count`,fC=()=>`chc-cl-group`,pC=()=>`chc-cl-group-heading`,mC=()=>`chc-cl-group-count`,hC=()=>`chc-cl-grid`,gC=()=>`chc-cl-empty`,_C=`Unspecified`,vC=`Unspecified surface`;function yC(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function bC(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?yC(t):_C}function xC(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?yC(t):vC}function SC(e,t){let n=db(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?bC(e):t===`surface`?xC(e):`${bC(e)} · ${xC(e)}`,i=new Map;for(let e of n){let t=r(e),n=i.get(t);n?n.courts.push(e):i.set(t,{key:t,label:t,courts:[e]})}return[...i.values()]}function CC(e){let t=new Map;for(let n of e){let e=bC(n),r=xC(n),i=`${e===_C?``:e.toLowerCase()} ${r===vC?``:r.toLowerCase()}`.trim()||`court`;t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>`${t} ${e}`).join(`, `)}function wC(e,t,n){let r=cC(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=lC(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=gC(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(TC(i));for(let e of SC(i,r.grouping))a.appendChild(EC(e,r,n));return a}function TC(e){let t=document.createElement(`div`);t.className=uC();let n=document.createElement(`span`);n.className=dC(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=CC(e),t.append(n,r),t}function EC(e,t,n){let r=document.createElement(`div`);if(r.className=fC(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=pC();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=mC(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=hC(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(OC(r,t,n));return r.appendChild(i),r}function DC(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function OC(e,t,n){let r=oC(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return LS(r,DC(t.grouping),i)}var kC={tiles:{map:{tileLayer:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`&copy; <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors`,maxZoom:18},satellite:{tileLayer:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles &copy; Esri`}},darkTileLayer:{tileLayer:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`,maxZoom:20},view:`map`,showViewToggle:!0,zoom:16,height:`320px`,courtsLayout:`side`,showHeader:!0,showPopup:!0,scrollWheelZoom:!1,darkTiles:`auto`};function AC(e){return e?{tiles:e.tiles??kC.tiles,darkTileLayer:e.darkTileLayer===void 0?kC.darkTileLayer:e.darkTileLayer,view:e.view??kC.view,showViewToggle:e.showViewToggle??kC.showViewToggle,zoom:e.zoom??kC.zoom,height:e.height??kC.height,courtsLayout:e.courtsLayout??kC.courtsLayout,showHeader:e.showHeader??kC.showHeader,showPopup:e.showPopup??kC.showPopup,scrollWheelZoom:e.scrollWheelZoom??kC.scrollWheelZoom,darkTiles:e.darkTiles??kC.darkTiles}:kC}var jC=()=>`chc-vl`,MC=()=>`chc-vl-header`,NC=()=>`chc-vl-title`,PC=()=>`chc-vl-address`,FC=()=>`chc-vl-notes`,IC=()=>`chc-vl-body`,LC=()=>`chc-vl-body--below`,RC=()=>`chc-vl-mapwrap`,zC=()=>`chc-vl-map`,BC=()=>`chc-vl-map--invertible`,VC=()=>`chc-vl-toggle`,HC=()=>`chc-vl-toggle-btn`,UC=()=>`chc-vl-fallback`,WC=()=>`chc-vl-fallback-icon`,GC=()=>`chc-vl-courts`,KC=()=>`chc-vl-courts-title`,qC=()=>`chc-vl-court-list`,JC=()=>`chc-vl-court`,YC=()=>`chc-vl-court--clickable`,XC=()=>`chc-vl-court-name`,ZC=()=>`chc-vl-court-meta`,QC=()=>`chc-vl-pip`,$C=()=>`chc-vl-marker`,ew=()=>`chc-vl-popup-title`,tw=()=>`chc-vl-popup-address`,nw=`No coordinates for this venue`,rw=`Map unavailable`,iw=new WeakMap;function aw(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function ow(e){return db(e)}function sw(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function cw(e,t,n){let r=AC(t),i=document.createElement(`div`);i.className=jC(),i.dataset.venueId=e.venueId,r.showHeader&&i.appendChild(uw(e));let a=document.createElement(`div`);a.className=r.courtsLayout===`side`?IC():`${IC()} ${LC()}`;let{wrap:o,mapEl:s}=fw(e,r,n);a.appendChild(o);let c=e.courts??[];return r.courtsLayout!==`none`&&c.length&&a.appendChild(hw(c,e,n)),i.appendChild(a),s&&aw(e)&&_w({root:i,mapEl:s,data:e,cfg:r,callbacks:n}),i}function lw(e){let t=iw.get(e);t&&(t(),iw.delete(e))}function uw(e){let t=document.createElement(`div`);t.className=MC();let n=document.createElement(`div`);if(n.className=NC(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=PC(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=FC(),n.textContent=e.notes,t.appendChild(n)}return t}function dw(e){let t=document.createElement(`div`);t.className=UC();let n=document.createElement(`div`);n.className=WC(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function fw(e,t,n){let r=document.createElement(`div`);if(r.className=RC(),r.style.height=t.height,!aw(e))return r.appendChild(dw(nw)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=zC(),i.appendChild(dw(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(pw(a,t,n)),{wrap:r,mapEl:i}}function pw(e,t,n){let r=document.createElement(`div`);r.className=VC(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=HC(),e.dataset.view=a,e.textContent=a===`satellite`?`Satellite`:`Map`,e.setAttribute(`aria-pressed`,String(a===t.view)),e.addEventListener(`click`,()=>{for(let t of i)t.setAttribute(`aria-pressed`,String(t===e));n?.onViewChange?.(a)}),i.push(e),r.appendChild(e)}return r}function mw(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${JC()} ${YC()}`:JC(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=XC(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=ZC();let s=sw(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=QC(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function hw(e,t,n){let r=document.createElement(`div`);r.className=GC();let i=document.createElement(`div`);i.className=KC(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=qC();for(let r of ow(e))a.appendChild(mw(r,t,n));return r.appendChild(a),r}function gw(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`})[e]),n=e.addressFormatted?`<div class="${tw()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${ew()}">${t(e.venueName)}</div>${n}`}async function _w({root:e,mapEl:t,data:n,cfg:r,callbacks:i}){let a;try{a=await import(`leaflet`)}catch(e){t.replaceChildren(dw(rw)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}let o=a.default??a;try{t.replaceChildren();let a=o.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0});a.setView([n.latitude,n.longitude],r.zoom);let s=r.view,c=Cw(o,a,r,s);ww(t,r,s);let l=e=>{s=e,a.removeLayer(c),c=Cw(o,a,r,e),ww(t,r,e)},u=o.divIcon({className:``,html:`<div class="${$C()}"></div>`,iconSize:[14,14]}),d=o.marker([n.latitude,n.longitude],{icon:u}).addTo(a);r.showPopup&&d.bindPopup(gw(n)),d.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&l(t.dataset.view)}),bw(t);let f=new ResizeObserver(()=>a.invalidateSize());f.observe(t);let p,m=globalThis.document?.documentElement;if(m&&r.darkTiles!==`never`&&r.darkTileLayer){let e=xw();p=new MutationObserver(()=>{let t=xw();t!==e&&(e=t,s!==`satellite`&&l(s))}),p.observe(m,{attributes:!0,attributeFilter:[`data-theme`]})}iw.set(e,()=>{f.disconnect(),p?.disconnect(),a.remove()})}catch(e){t.replaceChildren(dw(rw)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var vw=!1;function yw(e){return e?e!==`relative`&&e!==`absolute`:!1}function bw(e){vw||yw(globalThis.getComputedStyle?.(e)?.position)&&(vw=!0,console.warn("[courthive-components] venue-locator: leaflet's stylesheet is missing — the map will render incorrectly. Add `import 'leaflet/dist/leaflet.css';` to the host application."))}function xw(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function Sw(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Cw(e,t,n,r){let i=Sw(n,r,xw());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function ww(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(BC(),r)}function Tw(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function Ew(e,t){let n=typeof e?.indoorOutdoor==`string`?e.indoorOutdoor.toUpperCase():void 0;return{courtId:e?.courtId??`court-${t+1}`,courtName:e?.courtName??`Court ${t+1}`,indoorOutdoor:n===`INDOOR`||n===`OUTDOOR`?n:void 0,surfaceCategory:e?.surfaceCategory,floodlit:e?.floodlit,courtOrder:Tw(e?.courtOrder),latitude:gb(e?.latitude),longitude:gb(e?.longitude)}}function Dw(e){let t=Array.isArray(e?.courts)?e.courts:[],n=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??e?.venueAbbreviation??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:eb(n),latitude:gb(e?.latitude,n?.latitude),longitude:gb(e?.longitude,n?.longitude),courts:t.map(Ew),notes:e?.notes}}var Ow=()=>`chc-team-card`,kw=()=>`chc-team-card--clickable`,Aw=()=>`chc-team-card__title-row`,jw=()=>`chc-team-card__name`,Mw=()=>`chc-team-card__nickname`,Nw=()=>`chc-team-card__counts`,Pw=` · `;function Fw(e,t){let n=document.createElement(`div`);n.className=Ow(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(kw()),n.tabIndex=0,n.setAttribute(`role`,`button`),n.addEventListener(`click`,n=>{n.stopPropagation(),t.onClick(e)}),n.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),n.stopPropagation(),t.onClick(e))})),n.appendChild(Iw(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(Lw(r)),n}function Iw(e){let t=document.createElement(`div`);t.className=Aw();let n=document.createElement(`span`);if(n.className=jw(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=Mw(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function Lw(e){let t=document.createElement(`div`);return t.className=Nw(),t.textContent=e.join(Pw),t}var Rw=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],zw=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function Bw(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function Vw(e){let t=Bw();if(!Array.isArray(e))return t;for(let n of e){let e=typeof n?.getData==`function`?n.getData():n;if(!e)continue;if(e.matchUpStatus&&zw.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&Rw.includes(r)&&(t[r]+=1)}return t}function Hw(e){return Rw.reduce((t,n)=>t+e[n],0)}var Uw={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function Ww(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of Rw){let i=document.createElement(`div`);i.className=`chc-cb__seg`,i.dataset.bucket=e,t&&(i.classList.add(`is-clickable`),i.setAttribute(`role`,`button`),i.addEventListener(`click`,()=>t(e))),r[e]=i,n.appendChild(i)}return{element:n,update:e=>{let t=Hw(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of Rw){let n=r[t],i=e[t];i===0?(n.style.flex=`0 0 0`,n.style.padding=`0`,n.textContent=``,n.removeAttribute(`title`)):(n.style.flex=`${i} 1 0`,n.style.padding=`0 4px`,n.textContent=String(i),n.title=`${Uw[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of Rw)r[t].classList.toggle(`is-active`,t===e)}}}var Gw={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},Kw=`http://www.w3.org/2000/svg`,qw=96,Jw=qw/2,Yw=47,Xw=31;function Zw(e,t){return{x:Jw+t*Math.cos(e),y:Jw+t*Math.sin(e)}}function Qw(e,t){let n=Zw(e,Yw),r=Zw(t,Yw),i=Zw(t,Xw),a=Zw(e,Xw),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${Yw} ${Yw} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${Xw} ${Xw} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function $w(){let e=Zw(-Math.PI/2,Yw),t=Zw(Math.PI/2,Yw),n=Zw(-Math.PI/2,Xw),r=Zw(Math.PI/2,Xw);return[`M ${e.x} ${e.y}`,`A ${Yw} ${Yw} 0 1 1 ${t.x} ${t.y}`,`A ${Yw} ${Yw} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${Xw} ${Xw} 0 1 0 ${r.x} ${r.y}`,`A ${Xw} ${Xw} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function eT(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(Kw,`svg`);t.setAttribute(`viewBox`,`0 0 ${qw} ${qw}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of Rw){let r=document.createElementNS(Kw,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(Kw,`title`);r.appendChild(i),n[e]=r}let r=document.createElement(`div`);return r.className=`chc-cd__total`,e.appendChild(t),e.appendChild(r),{element:e,update:i=>{let a=Hw(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=Rw.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of Rw){let t=i[e],r=n[e],c=r.querySelector(`title`);if(t===0){r.removeAttribute(`d`),c&&(c.textContent=``);continue}if(o.length===1)r.setAttribute(`d`,$w());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,Qw(s,n)),s=n}c&&(c.textContent=`${Gw[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function tT(e){let{segments:t,onSegmentClick:n}=e,r=document.createElement(`div`);r.className=`chc-sb`;let i={},a={};for(let{key:e,label:o,color:s}of t){i[e]=o;let t=document.createElement(`div`);t.className=`chc-sb__seg`,t.dataset.key=e,t.style.setProperty(`--seg-bg`,s),n&&(t.classList.add(`is-clickable`),t.setAttribute(`role`,`button`),t.addEventListener(`click`,()=>n(e))),a[e]=t,r.appendChild(t)}return{element:r,update:e=>{let n=t.reduce((t,n)=>t+(e[n.key]||0),0);if(r.style.display=n>0?`flex`:`none`,n)for(let{key:n}of t){let t=a[n],r=e[n]||0;r===0?(t.style.flex=`0 0 0`,t.style.padding=`0`,t.textContent=``,t.removeAttribute(`title`)):(t.style.flex=`${r} 1 0`,t.style.padding=`0 4px`,t.textContent=String(r),t.title=`${i[n]}: ${r}`)}},setActive:e=>{r.classList.toggle(`has-active`,!!e);for(let{key:n}of t)a[n].classList.toggle(`is-active`,n===e)}}}var nT={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function rT(e){return e?{cornerBadges:e.cornerBadges??nT.cornerBadges,body:e.body??nT.body,footer:e.footer??nT.footer,showVisualization:e.showVisualization??nT.showVisualization}:nT}var iT=()=>`chc-dc-card`,aT=()=>`chc-dc-card--clickable`,oT=()=>`chc-dc-corner-badges`,sT=()=>`chc-dc-status-pill`,cT=()=>`chc-dc-secondary-badge`,lT=()=>`chc-dc-body`,uT=()=>`chc-dc-viz`,dT=()=>`chc-dc-title-row`,fT=()=>`chc-dc-title`,pT=()=>`chc-dc-draw-type`,mT=()=>`chc-dc-meta`,hT=()=>`chc-dc-footer`,gT=()=>`chc-dc-chip`,_T=()=>`chc-dc-progress`,vT=()=>`chc-dc-progress-bar`,yT=()=>`chc-dc-progress-fill`,bT=()=>`chc-dc-card chc-dc-skeleton`,xT=()=>`chc-dc-skeleton-line`;function ST(e,t,n){let r=rT(t),i=document.createElement(`div`);if(i.className=iT(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(aT()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showVisualization&&e.visualization){let t=document.createElement(`div`);t.className=uT(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(zT(e,r)),r.footer.length&&i.appendChild(BT(e,r)),i}function CT(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=sT(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function wT(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=cT(),t.dataset.kind=`published`,t.textContent=`Published`,t}function TT(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=cT(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function ET(e,t){return e===`status`?CT(t):e===`publishedBadge`?wT(t):e===`embargoBadge`?TT(t):null}function DT(e,t){let n=[];for(let r of t){let t=ET(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=oT();for(let e of n)r.appendChild(e);return r}function OT(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=fT(),t.textContent=e.drawName,t.title=e.drawName,t}function kT(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=pT(),t.textContent=e.drawTypeLabel,t}function AT(e){let t=document.createElement(`span`);return t.className=gT(),t.textContent=e,t}function jT(e){return typeof e.drawSize==`number`?AT(`Size ${e.drawSize}`):null}function MT(e){return typeof e.entryCount==`number`?AT(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function NT(e){return e.matchUpFormat?AT(e.matchUpFormat):null}function PT(e){return typeof e.flightNumber==`number`?AT(`Flight ${e.flightNumber}`):null}function FT(e){let t=[];if(typeof e.utrAvg==`number`&&t.push(`UTR ${e.utrAvg.toFixed(2)}`),typeof e.wtnAvg==`number`&&t.push(`WTN ${e.wtnAvg.toFixed(2)}`),!t.length)return null;let n=document.createElement(`div`);return n.className=mT(),n.textContent=t.join(` · `),n}function IT(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=_T();let a=document.createElement(`div`);a.className=mT(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=vT();let s=document.createElement(`div`);return s.className=yT(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function LT(e,t){return e===`title`?OT(t):e===`drawTypeLabel`?kT(t):e===`drawSize`?jT(t):e===`entries`?MT(t):e===`matchUpFormat`?NT(t):e===`flightNumber`?PT(t):e===`ratings`?FT(t):e===`matchUpProgress`?IT(t):null}function RT(e,t){let n=document.createElement(`div`);n.className=dT();let r=OT(e);r&&n.appendChild(r);let i=DT(e,t);return i&&n.appendChild(i),n}function zT(e,t){let n=document.createElement(`div`);n.className=lT();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=DT(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(RT(e,t.cornerBadges));continue}let a=LT(r,e);a&&n.appendChild(a)}return n}function BT(e,t){let n=document.createElement(`div`);n.className=hT();for(let r of t.footer){let t=LT(r,e);t&&n.appendChild(t)}return n}function VT(){let e=document.createElement(`div`);e.className=bT();let t=document.createElement(`div`);t.className=lT();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=xT(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var HT={SINGLE_ELIMINATION:`Single Elimination`,DOUBLE_ELIMINATION:`Double Elimination`,ELIMINATION:`Elimination`,ROUND_ROBIN:`Round Robin`,ROUND_ROBIN_WITH_PLAYOFF:`Round Robin + Playoff`,COMPASS:`Compass`,FEED_IN_CHAMPIONSHIP:`Feed-In Championship`,FIRST_MATCH_LOSER_CONSOLATION:`First Match Loser Consolation`,FIRST_ROUND_LOSER_CONSOLATION:`First Round Loser Consolation`,PLAY_OFF:`Play-Off`,CURTIS_CONSOLATION:`Curtis Consolation`,AD_HOC:`Ad-Hoc`,OLYMPIC:`Olympic`,LUCKY_DRAW:`Lucky Draw`,STAGGERED_ENTRY:`Staggered Entry`};function UT(e){if(e)return HT[e]?HT[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function WT(e){let{matchUps:n=[]}=t.tournamentEngine.getAllDrawMatchUps({drawDefinition:e}),r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function GT(e){let t=e?.drawSize;if(typeof t==`number`)return t;let n=(e?.structures?.find(e=>e?.stage===`MAIN`))?.positionAssignments?.length;return typeof n==`number`?n:void 0}function KT(e){if(e.cancelled)return{kind:`cancelled`,label:`Cancelled`};if(!e.generated)return{kind:`ungenerated`,label:`Not generated`};let t=e.matchUpCounts;return!t||t.total===0?{kind:`ready`,label:`Ready`}:t.completed===t.total?{kind:`completed`,label:`Completed`}:t.inProgress>0||t.completed>0?{kind:`in-progress`,label:`In progress`}:{kind:`ready`,label:`Ready`}}function qT(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:WT(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?KT({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:UT(e?.drawType),drawSize:GT(e),entryCount:t?.entryCount,matchUpFormat:e?.matchUpFormat,flightNumber:e?.flightNumber,matchUpCounts:r,generated:n,published:t?.published,embargoActive:t?.embargoActive,utrAvg:t?.utrAvg,wtnAvg:t?.wtnAvg,status:a,eventId:t?.eventId}}var JT={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},YT=15;function XT(e){return e?{showImage:e.showImage??JT.showImage,cornerBadges:e.cornerBadges??JT.cornerBadges,body:e.body??JT.body,footer:e.footer??JT.footer}:JT}var ZT=()=>`chc-ec-card`,QT=()=>`chc-ec-card--clickable`,$T=()=>`chc-ec-image`,eE=()=>`chc-ec-image-img`,tE=()=>`chc-ec-image-svg`,nE=()=>`chc-ec-image-placeholder`,rE=()=>`chc-ec-corner-badges`,iE=()=>`chc-ec-status-pill`,aE=()=>`chc-ec-eventtype-badge`,oE=()=>`chc-ec-gender-badge`,sE=()=>`chc-ec-body`,cE=()=>`chc-ec-title`,lE=()=>`chc-ec-category`,uE=()=>`chc-ec-draw-summary`,dE=()=>`chc-ec-date-range`,fE=()=>`chc-ec-footer`,pE=()=>`chc-ec-player-count`,mE=()=>`chc-ec-progress`,hE=()=>`chc-ec-progress-meta`,gE=()=>`chc-ec-progress-bar`,_E=()=>`chc-ec-progress-fill`,vE=()=>`chc-ec-updated-at`,yE=()=>`chc-ec-card chc-ec-skeleton`,bE=()=>`chc-ec-skeleton-line`,xE=()=>`chc-ec-skeleton-block`;function SE(e,t,n){let r=XT(t),i=document.createElement(`div`);return i.className=ZT(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(QT()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(wE(e,r)),r.body.length&&i.appendChild(RE(e,r)),r.footer.length&&i.appendChild(zE(e,r)),i}function CE(e,t){let n=Qy(t.courtSvgSport,tE());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=nE(),e.appendChild(r)}function wE(e,t){let n=document.createElement(`div`);if(n.className=$T(),e.eventImageURL){let t=document.createElement(`img`);t.className=eE(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),CE(n,e)}),n.appendChild(t)}else CE(n,e);if(t.cornerBadges.length){let r=kE(e,t.cornerBadges);r&&n.appendChild(r)}return n}function TE(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=iE(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function EE(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=aE(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function DE(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=oE(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function OE(e,t){return e===`status`?TE(t):e===`eventTypeBadge`?EE(t):e===`genderBadge`?DE(t):null}function kE(e,t){let n=[];for(let r of t){let t=OE(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=rE();for(let e of n)r.appendChild(e);return r}function AE(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=cE(),t.textContent=e.eventName,t.title=e.eventName,t}function jE(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=lE(),t.textContent=e.categoryLabel,t}function ME(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=uE(),t.textContent=e.drawSummary,t}function NE(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=dE(),t.textContent=e.dateRangeFormatted,t}function PE(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=vE();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function FE(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=pE(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function IE(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=mE();let a=document.createElement(`div`);a.className=hE(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=gE();let s=document.createElement(`div`);return s.className=_E(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function LE(e,t){return e===`title`?AE(t):e===`categoryLabel`?jE(t):e===`drawSummary`?ME(t):e===`dateRange`?NE(t):e===`updatedAt`?PE(t):e===`playerCount`?FE(t):e===`matchUpProgress`?IE(t):null}function RE(e,t){let n=document.createElement(`div`);n.className=sE();for(let r of t.body){let t=LE(r,e);t&&n.appendChild(t)}return n}function zE(e,t){let n=document.createElement(`div`);n.className=fE();for(let r of t.footer){let t=LE(r,e);t&&n.appendChild(t)}return n}function BE(e){let t=XT(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:yE(),imageClass:$T(),bodyClass:sE(),footerClass:fE(),blockClass:xE(),lineClass:bE()})}function VE(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function HE(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function UE(e,t=new Date){if(e.allDrawsCancelled)return{kind:`cancelled`,label:`Cancelled`};let n=e.matchUpCounts;if(n&&n.total>0&&n.completed===n.total)return{kind:`completed`,label:`Completed`};let r=VE(e.startDate),i=VE(e.endDate);if(n&&(n.inProgress>0||HE(t,r,i)&&n.total>0))return{kind:`live`,label:`Live`};let a=e.drawCount??0;return a>0&&(e.hasDraftState||e.hasSeedsOnlyDraw)?{kind:`drawing`,label:`Drawing`}:a===0&&(e.entryCount??0)>0?{kind:`entries-open`,label:`Entries Open`}:r&&t.getTime()<r.getTime()?{kind:`upcoming`,label:`Upcoming`}:null}var WE=`eventImage`,GE=`DRAFT_STATE`;function KE(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function qE(e){if(!e)return;let t=String(e).toUpperCase();if(t===`M`||t===`MALE`)return`MALE`;if(t===`F`||t===`FEMALE`)return`FEMALE`;if(t===`MIXED`||t===`X`)return`MIXED`}function JE(e){if(!e)return;let t=YE(e.categoryName);if(t)return t;if(typeof e.ageMin==`number`&&typeof e.ageMax==`number`)return e.ageMin===e.ageMax?`Age ${e.ageMin}`:`Age ${e.ageMin}–${e.ageMax}`;let n=YE(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function YE(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function XE(e){if(!e.length)return;let t=e.find(Boolean);if(!t)return;let n=[];return typeof t.drawSize==`number`&&n.push(String(t.drawSize)),t.drawType&&n.push(String(t.drawType)),e.length>1&&n.push(`+${e.length-1}`),n.length?n.join(` `):void 0}function ZE(e){let{matchUps:n=[]}=t.tournamentEngine.allEventMatchUps({event:e,inContext:!1})??{},r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function QE(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===GE):!1}function $E(e){return e.some(e=>e?.automated?.seedsOnly===!0||QE(e))}function eD(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var tD=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function nD(e){if(!e.length)return 0;let t=0;for(let n of e)tD.has(String(n?.entryStatus))&&(t+=1);return t}function rD(e,t){let n=Array.isArray(e?.drawDefinitions)?e.drawDefinitions:[],r=Array.isArray(e?.entries)?e.entries:[],i=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,a=t?.matchUpStats??(t?.lightMode?void 0:ZE(e)),o=t?.statusOverride===void 0?UE({allDrawsCancelled:eD(n),drawCount:n.length,entryCount:nD(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(QE),hasSeedsOnlyDraw:$E(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:JE(e?.category),eventType:KE(e?.eventType),gender:qE(e?.gender),drawCount:n.length||void 0,drawSummary:XE(n),entryCount:nD(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:ub(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??pb(i,WE),courtSvgSport:e?.courtSvgSport??mb(i)??t?.sport,updatedAt:e?.updatedAt}}var iD=()=>`chc-hil-container`,aD=()=>`chc-hil-form`,oD=()=>`chc-hil-header`,sD=()=>`chc-hil-title`,cD=()=>`chc-hil-tabs`,lD=()=>`chc-hil-tab`,uD=()=>`chc-hil-tab--active`,dD=()=>`chc-hil-field`,fD=()=>`chc-hil-label`,pD=()=>`chc-hil-input`,mD=()=>`chc-hil-row`,hD=()=>`chc-hil-submit`,gD=()=>`chc-hil-message`,_D=()=>`chc-hil-message--error`,vD=()=>`chc-hil-message--success`,yD=()=>`chc-hil-switch-mode`;function bD(e){return e.replace(/\/+$/,``)}async function xD(e,t,n,r=fetch){let i=bD(e)+t,a;try{a=await r(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}catch(e){throw{kind:`network`,cause:e}}let o=null;try{o=await a.json()}catch(e){if(a.ok)throw{kind:`parse`,cause:e}}if(!a.ok)throw{kind:`http`,status:a.status,body:o};return o}function SD(e,t,n){return xD(e,`/auth/hiveid/signup`,t,n)}function CD(e,t,n){return xD(e,`/auth/hiveid/verify-existing`,t,n)}function wD(e,t,n){return xD(e,`/auth/hiveid/magic-link`,t,n)}function TD(e,t,n){return xD(e,`/auth/hiveid/magic-link/consume`,t,n)}function ED(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind!==`http`||t.status!==409?!1:t.body?.code===`EXISTING_USER`}var DD=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],OD=`signup`,kD=`login`,AD=`magic-link`,jD=[OD,kD,AD],MD=`hiveid:authenticated`,ND={[OD]:`Sign up`,[kD]:`Log in`,[AD]:`Email link`},PD={[OD]:`Create your CourtHive identity`,[kD]:`Log in to CourtHive`,[AD]:`Email me a sign-in link`};function FD(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=iD(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=oD();let a=document.createElement(`h2`);a.className=sD(),i.appendChild(a);let o=document.createElement(`div`);o.className=cD(),i.appendChild(o);let s={};jD.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=lD(),t.textContent=ND[e],t.dataset.mode=e,t.onclick=()=>w(e),o.appendChild(t),s[e]=t}),r.appendChild(i);let c=document.createElement(`form`);c.className=aD(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=gD(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=gD(),t===`error`&&l.classList.add(_D()),t===`success`&&l.classList.add(vD()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=dD();let a=document.createElement(`label`);a.className=fD(),a.textContent=t,a.htmlFor=`chc-hil-${e}`;let o=document.createElement(`input`);return o.id=`chc-hil-${e}`,o.name=e,o.type=n,o.value=r,o.className=pD(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=mD(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=hD(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=yD();let i=document.createElement(`button`);i.type=`button`,i.textContent=n,i.onclick=()=>w(t),r.append(e+` `,i),c.appendChild(r)}function g(e){if(e.note){let t=document.createElement(`p`);t.className=fD(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=dD();let r=document.createElement(`label`);r.className=fD(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=pD(),e.providers.forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,i.appendChild(t)}),n.append(r,i),c.appendChild(n),t=i}let n=document.createElement(`div`);n.className=dD();let r=document.createElement(`label`);r.className=fD(),r.textContent=e.idLabel??`Player ID`,r.htmlFor=`chc-hil-federationId`;let i=document.createElement(`input`);i.id=`chc-hil-federationId`,i.type=`text`,i.className=pD(),n.append(r,i),c.appendChild(n);let a=e.providers[0]?.value??``;return()=>{let e=i.value.trim();if(!e)return null;let n=t?t.value:a;return n?{provider:n,externalId:e}:null}}function _(e){if(e.note){let t=document.createElement(`p`);t.className=fD(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=dD();let r=document.createElement(`label`);r.className=fD(),r.textContent=e.dobLabel??`Date of birth`,r.htmlFor=`chc-hil-birthDate`;let i=document.createElement(`input`);i.id=`chc-hil-birthDate`,i.type=`date`,i.required=t,i.className=pD(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=dD();let o=document.createElement(`label`);o.className=fD(),o.textContent=e.sexLabel??`Sex`,o.htmlFor=`chc-hil-sex`;let s=document.createElement(`select`);s.id=`chc-hil-sex`,s.required=t,s.className=pD();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??DD).forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,s.appendChild(t)}),a.append(o,s),c.appendChild(a),()=>RD({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent(MD,{detail:e,bubbles:!0}))}function y(e,t){return async r=>{if(r.preventDefault(),!n){n=!0,e.disabled=!0,d();try{await t()}finally{n=!1,e.disabled=!1}}}}async function b(t,n,r,i={}){let a=t.value.trim(),o=n.value.trim(),s=r.value.trim();if(!a||!o||!s){u(`Email, first name, and last name are required.`,`error`);return}let{federationIds:c,birthDate:l,sex:d,provider:f,requirePii:p}=i;if(p&&(!l||!d)){u(`Date of birth and sex are required.`,`error`);return}try{let t=await SD(e.cfsBaseUrl,{email:a,firstName:o,lastName:s,federationIds:c,birthDate:l,sex:d,provider:f},e.fetchImpl);if(t.status===`candidate`){u(`We found possible matches — please log in with your existing account.`,`info`),w(`login`);return}v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached}),u(`Welcome to CourtHive.`,`success`)}catch(e){if(ED(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(BD(e)??`Sign-up failed. Please try again.`,`error`)}}async function x(t,n){let r=t.value.trim(),i=n.value;if(!r||!i){u(`Email and password are required.`,`error`);return}try{let t=await CD(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??zD()}),u(`Signed in.`,`success`)}catch(e){u(BD(e)??`Sign-in failed. Please check your password.`,`error`)}}async function S(t){let n=t.value.trim();if(!n){u(`Email is required.`,`error`);return}try{await wD(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(BD(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=PD[t],jD.forEach(e=>{s[e].classList.toggle(uD(),e===t)}),t===`signup`){let t=p(),n=document.createElement(`input`);n.id=`chc-hil-firstName`,n.type=`text`,n.placeholder=`First name`,n.required=!0,n.className=pD();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=pD();let i=document.createElement(`div`);i.className=dD();let a=document.createElement(`label`);a.textContent=`First name`,a.className=fD(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=dD();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=fD(),s.htmlFor=r.id,o.append(s,r),t.append(i,o);let l=f(`email`,`Email`,`email`,e.defaultEmail??``),u=e.federationIdCapture?g(e.federationIdCapture):()=>null,d=e.dobSexCapture?_(e.dobSexCapture):()=>({}),v=!!e.dobSexCapture&&e.dobSexCapture.required!==!1,x=m(`Create account`);c.onsubmit=y(x,()=>b(l,n,r,{federationIds:LD(u(),e.federationIds),...d(),provider:e.provider,requirePii:v})),h(`Already have an account?`,`login`,`Log in`)}else if(t===`login`){let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=f(`password`,`Password`,`password`),r=m(`Log in`);c.onsubmit=y(r,()=>x(t,n)),h(`Forgot your password?`,`magic-link`,`Email me a link`)}else{let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=m(`Send link`);c.onsubmit=y(n,()=>S(t)),h(`Have a password?`,`login`,`Log in instead`)}}function w(e){e!==t&&(t=e,d(),C())}function T(){return t}function E(e){let t=t=>e(t.detail);return r.addEventListener(MD,t),()=>r.removeEventListener(MD,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function ID(e,t,n){let r=await TD(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??zD()}}function LD(e,t){let n=[],r=new Set,i=e=>{if(!e?.provider||!e?.externalId)return;let t=`${e.provider}::${e.externalId}`;r.has(t)||(r.add(t),n.push({provider:e.provider,externalId:e.externalId}))};return(t??[]).forEach(i),i(e),n.length?n:void 0}function RD(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function zD(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function BD(e){if(!e||typeof e!=`object`)return null;if(e.kind===`http`){let t=e.body;if(t?.message&&typeof t.message==`string`)return t.message;if(typeof t?.status==`string`&&t.status===`incomplete`)return`We need a bit more information to identify you.`}return e.kind===`network`?`Could not reach CourtHive. Check your connection.`:null}var VD={name:`courthive-components`,packageManager:`pnpm@12.9.1`,version:`6.6.0`,engines:{node:`>=22`},description:`Components for competitions projects`,files:[`dist`],main:`./dist/courthive-components.umd.js`,module:`./dist/courthive-components.es.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/courthive-components.es.js`,require:`./dist/courthive-components.umd.js`},"./dist/*":`./dist/*`},repository:{type:`git`,url:`git+https://github.com/CourtHive/courthive-components.git`},keywords:[`tournament`,`match`,`score`,`vanillajs`,`bracket`],author:`Charles Allen`,license:`MIT`,bugs:{url:`https://github.com/CourtHive/courthive-components/issues`},homepage:`https://courthive.github.io/courthive-component`,scripts:{commits:`git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges --pretty=format:'%s: %h' | sed '/courthive-components/d'`,release:`npm run release:patch`,test:`vitest run --project unit`,"test:stories":`vitest run --project storybook`,"test:watch":`vitest --project unit`,"test:ui":`vitest --ui --project unit`,dev:`vite`,build:`tsc && vite build`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src --cache --max-warnings 0`,"lint:fix":`eslint src --fix --cache`,"lint:report":`eslint src & eslint --cache src -f json > eslint-report.json`,format:`prettier --write src`,"release:major":`npm run commits && npm version $(semver $npm_package_version -i major) && git push && git push --tags`,"release:minor":`npm run commits && npm version $(semver $npm_package_version -i minor) && git push && git push --tags`,"release:patch":`npm run commits && npm version $(semver $npm_package_version -i patch) && git push && git push --tags`,"release:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && git push && git push --tags`,"patch:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && npm publish --tag beta`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.3`,"@commitlint/config-conventional":`21.2.3`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/addon-vitest":`^10.6.1`,"@storybook/html-vite":`^10.2.17`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.71.0`,"@typescript-eslint/parser":`8.71.0`,"@vitest/browser":`^5.0.3`,"@vitest/browser-playwright":`^5.0.3`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.12.0`,"eslint-plugin-sonarjs":`4.2.2`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^20.8.3`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.6.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.6.1`,"tods-competition-factory":`7.11.0`,typescript:`^6.0.2`,vite:`8.3.2`,"vite-plugin-dts":`^5.0.0`,vitest:`^5.0.0`},dependencies:{"@tiptap/core":`^3.22.2`,"@tiptap/extension-color":`^3.22.2`,"@tiptap/extension-highlight":`^3.22.2`,"@tiptap/extension-text-align":`^3.22.2`,"@tiptap/extension-text-style":`^3.22.2`,"@tiptap/extension-youtube":`^3.22.2`,"@tiptap/starter-kit":`^3.22.2`,awesomplete:`1.1.7`,"class-variance-authority":`0.7.1`,classnames:`2.5.1`,d3:`^7.9.0`,dayjs:`1.11.23`,"focus-trap":`^8.0.0`,"timepicker-ui":`^4.1.2`,"tippy.js":`6.3.7`,"vanillajs-datepicker":`1.3.4`},peerDependencies:{"tods-competition-factory":`^7.6.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function HD(){return VD.version}var UD={SET3_S6_TB7:`SET3-S:6/TB7`,SET3_S6_TB7_F_TB10:`SET3-S:6/TB7-F:TB10`,SET3_S6_TB10:`SET3-S:6/TB10`,SET3_S6_F_TB10:`SET3-S:6-F:TB10`,SET3_S6_TB7_NOAD:`SET3-S:6/TB7NOAD`,SET3_S8_TB7:`SET3-S:8/TB7`,SET3_S8_TB7_AT7:`SET3-S:8/TB7@7`,SET3_S4_TB7:`SET3-S:4/TB7`,SET3_S4_TB7_F_TB10:`SET3-S:4/TB7-F:TB10`,SET3_S4_TB5_AT3_F_TB10:`SET3-S:4/TB5@3-F:TB10`,SET5_S6_TB7:`SET5-S:6/TB7`,SET5_S6_TB7_F_TB10:`SET5-S:6/TB7-F:TB10`,SET1_S6_TB7:`SET1-S:6/TB7`,SET1_S6_TB10:`SET1-S:6/TB10`,SET1_S6_TB7_AT5:`SET1-S:6/TB7@5`,SET1_S8_TB7:`SET1-S:8/TB7`,SET1_S4_TB7:`SET1-S:4/TB7`,SET1_S5_TB9_AT4:`SET1-S:5/TB9@4`,SET1_S_TB7:`SET1-S:T7`,SET1_S_TB10:`SET1-S:TB10`,SET1_S_TB21:`SET1-S:T21`,SET1_S8:`SET1-S:8`,SET1_S10:`SET1-S:10`,FAST4:`SET5-S:4/NOAD`,SET3X_T10A_TB1:`SET3XA-S:T10-F:TB1`,SET3X_T10A_TB1_NOAD:`SET3XA-S:T10-F:TB1NOAD`,SET4X_T10A_TB1:`SET4XA-S:T10-F:TB1`};function WD(e,t,n){if(!e)return{elements:{}};let r={};for(let i of t||[]){if(!i?.label||i.hide)continue;let t=document.createElement(`button`);i.id&&(r[i.id]=t,t.id=i.id),t.style.marginRight=`.5em`,t.className=`button font-medium`,i.intent&&t.classList.add(i.intent),t.innerHTML=i.label,i.disabled&&(t.disabled=!0),t.onclick=e=>{e.stopPropagation(),!e.target.disabled&&G(i.onClick)&&i.onClick(),n&&G(n)&&n()},e.appendChild(t)}return{elements:r}}var GD=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function KD(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var qD=(e,t)=>n=>KD(n)&&Number(n)>=e&&Number(n)<=t,JD=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function YD(e){return t.tools.dateTime.dateValidation.test(e)}var XD=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},ZD=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,QD=e=>ZD.exec(e),$D=_({dateValidator:()=>YD,emailValidator:()=>QD,nameValidator:()=>GD,numericRange:()=>qD,numericValidator:()=>KD,passwordValidator:()=>JD,wordValidator:()=>XD}),eO=class{constructor({tournamentRecord:e,drawId:n,structureId:r,eventId:i}){this.tournamentRecord=e,this.drawId=n,this.structureId=r,this.eventId=i||e.events?.[0]?.eventId,t.tournamentEngine.setState(e)}setRenderCallback(e){this.renderCallback=e}getDrawEntryParticipantIds(){let{event:e,drawDefinition:n}=t.tournamentEngine.getEvent({drawId:this.drawId})||{};if(!e)return[];let{flightProfile:r}=t.tournamentEngine.getFlightProfile({eventId:this.eventId})||{};return(r?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries||n?.entries||[]).map(e=>e.participantId).filter(Boolean)}getAllParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getDrawEntryParticipantIds();if(!e.length)return[];let{participants:n=[]}=t.tournamentEngine.getParticipants({participantFilters:{participantIds:e}})||{};return n.map(e=>({participantId:e.participantId,participantName:e.participantName,participantType:e.participantType,person:e.person,individualParticipants:e.individualParticipants}))}getAvailableParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getAllParticipants(),{assignedParticipantIds:n=[]}=t.tournamentEngine.getAssignedParticipantIds({drawId:this.drawId})||{};return e.filter(e=>!n.includes(e.participantId))}removeAssignment({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=this.getMatchUps().find(t=>t.sides?.some(t=>t.drawPosition===e))?.sides?.find(t=>t.drawPosition===e)?.bye===!0,r=t.tournamentEngine.removeDrawPositionAssignment({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,n&&this.renderCallback&&this.renderCallback(),{success:!0}}assignParticipant({drawPosition:e,participantId:n}){t.tournamentEngine.setState(this.tournamentRecord);let r=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,participantId:n});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}assignBye({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPositionBye({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}assignQualifier({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,qualifier:!0});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getMatchUps(){t.tournamentEngine.setState(this.tournamentRecord);let{eventData:e}=t.tournamentEngine.getEventData({eventId:this.eventId})||{},n=(e?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId)?.roundMatchUps;return n?Object.values(n).flat():[]}getState(){return this.tournamentRecord}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},tO=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="14" height="14" fill="currentColor"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>`,nO=new WeakMap;function rO(e,t){let n=document.createElement(`div`);n.style.cssText=`position: relative; flex: 1; display: flex; min-width: 0;`,e.style.paddingRight=`28px`,n.appendChild(e);let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,`Clear search`),r.style.cssText=[`position: absolute`,`right: 8px`,`top: 50%`,`transform: translateY(-50%)`,`background: transparent`,`border: 0`,`padding: 2px`,`cursor: pointer`,`display: none`,`align-items: center`,`justify-content: center`,`line-height: 0`,`opacity: 0.55`,`color: currentColor`].join(`; `),r.innerHTML=tO,r.addEventListener(`mouseenter`,()=>r.style.opacity=`0.9`),r.addEventListener(`mouseleave`,()=>r.style.opacity=`0.55`),r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t(),i()});let i=()=>{r.style.display=e.value?`inline-flex`:`none`};return e.addEventListener(`keyup`,n=>{n.key===`Escape`&&e.value&&(t(),i())}),e.addEventListener(`input`,i),nO.set(n,i),n.appendChild(r),n}function iO(e){nO.get(e)?.()}function aO(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function oO(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function sO(e){let t,n,r;e.length===2?(t=e===aO||e===oO?e:cO,n=e,r=e):(t=aO,n=(t,n)=>aO(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function cO(){return 0}function lO(e){return e===null?NaN:+e}var uO=sO(aO),dO=uO.right;uO.left,sO(lO).center;function fO(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var pO=class extends Map{constructor(e,t=_O){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(mO(this,e))}has(e){return super.has(mO(this,e))}set(e,t){return super.set(hO(this,e),t)}delete(e){return super.delete(gO(this,e))}};function mO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function hO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function gO({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function _O(e){return typeof e==`object`&&e?e.valueOf():e}var vO=Math.sqrt(50),yO=Math.sqrt(10),bO=Math.sqrt(2);function xO(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=vO?10:a>=yO?5:a>=bO?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?xO(e,t,n*2):[s,c,l]}function SO(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?xO(t,e,n):xO(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function CO(e,t,n){return t=+t,e=+e,n=+n,xO(e,t,n)[2]}function wO(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?CO(t,e,n):CO(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function TO(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function EO(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function DO(e){return e}var OO=1,kO=2,AO=3,jO=4,MO=1e-6;function NO(e){return`translate(`+e+`,0)`}function PO(e){return`translate(0,`+e+`)`}function FO(e){return t=>+e(t)}function IO(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function LO(){return!this.__axis}function RO(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===OO||e===jO?-1:1,u=e===jO||e===kO?`x`:`y`,d=e===OO||e===AO?NO:PO;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):DO),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?IO:FO)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===OO?`0em`:e===AO?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,MO).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,MO).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===jO||e===kO?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(LO).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===kO?`start`:e===jO?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function zO(e){return RO(AO,e)}function BO(e){return RO(jO,e)}var VO={value:()=>{}};function HO(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new UO(n)}function UO(e){this._=e}function WO(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}UO.prototype=HO.prototype={constructor:UO,on:function(e,t){var n=this._,r=WO(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=GO(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=KO(n[i],e.name,t);else if(t==null)for(i in n)n[i]=KO(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new UO(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function GO(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function KO(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=VO,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var qO={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function JO(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),qO.hasOwnProperty(t)?{space:qO[t],local:e}:e}function YO(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function XO(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZO(e){var t=JO(e);return(t.local?XO:YO)(t)}function QO(){}function $O(e){return e==null?QO:function(){return this.querySelector(e)}}function ek(e){typeof e!=`function`&&(e=$O(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new HA(r,this._parents)}function tk(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function nk(){return[]}function rk(e){return e==null?nk:function(){return this.querySelectorAll(e)}}function ik(e){return function(){return tk(e.apply(this,arguments))}}function ak(e){e=typeof e==`function`?ik(e):rk(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new HA(r,i)}function ok(e){return function(){return this.matches(e)}}function sk(e){return function(t){return t.matches(e)}}var ck=Array.prototype.find;function lk(e){return function(){return ck.call(this.children,e)}}function uk(){return this.firstElementChild}function dk(e){return this.select(e==null?uk:lk(typeof e==`function`?e:sk(e)))}var fk=Array.prototype.filter;function pk(){return Array.from(this.children)}function mk(e){return function(){return fk.call(this.children,e)}}function hk(e){return this.selectAll(e==null?pk:mk(typeof e==`function`?e:sk(e)))}function gk(e){typeof e!=`function`&&(e=ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new HA(r,this._parents)}function _k(e){return Array(e.length)}function vk(){return new HA(this._enter||this._groups.map(_k),this._parents)}function yk(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}yk.prototype={constructor:yk,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function bk(e){return function(){return e}}function xk(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new yk(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Sk(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new yk(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Ck(e){return e.__data__}function wk(e,t){if(!arguments.length)return Array.from(this,Ck);var n=t?Sk:xk,r=this._parents,i=this._groups;typeof e!=`function`&&(e=bk(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=Tk(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new HA(o,r),o._enter=s,o._exit=c,o}function Tk(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Ek(){return new HA(this._exit||this._groups.map(_k),this._parents)}function Dk(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Ok(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new HA(s,this._parents)}function kk(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Ak(e){e||=jk;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new HA(i,this._parents).order()}function jk(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Mk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Nk(){return Array.from(this)}function Pk(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function Fk(){let e=0;for(let t of this)++e;return e}function Ik(){return!this.node()}function Lk(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Rk(e){return function(){this.removeAttribute(e)}}function zk(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Bk(e,t){return function(){this.setAttribute(e,t)}}function Vk(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Hk(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Uk(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Wk(e,t){var n=JO(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?zk:Rk:typeof t==`function`?n.local?Uk:Hk:n.local?Vk:Bk)(n,t))}function Gk(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Kk(e){return function(){this.style.removeProperty(e)}}function qk(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Jk(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Yk(e,t,n){return arguments.length>1?this.each((t==null?Kk:typeof t==`function`?Jk:qk)(e,t,n??``)):Xk(this.node(),e)}function Xk(e,t){return e.style.getPropertyValue(t)||Gk(e).getComputedStyle(e,null).getPropertyValue(t)}function Zk(e){return function(){delete this[e]}}function Qk(e,t){return function(){this[e]=t}}function $k(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function eA(e,t){return arguments.length>1?this.each((t==null?Zk:typeof t==`function`?$k:Qk)(e,t)):this.node()[e]}function tA(e){return e.trim().split(/^|\s+/)}function nA(e){return e.classList||new rA(e)}function rA(e){this._node=e,this._names=tA(e.getAttribute(`class`)||``)}rA.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function iA(e,t){for(var n=nA(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function aA(e,t){for(var n=nA(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function oA(e){return function(){iA(this,e)}}function sA(e){return function(){aA(this,e)}}function cA(e,t){return function(){(t.apply(this,arguments)?iA:aA)(this,e)}}function lA(e,t){var n=tA(e+``);if(arguments.length<2){for(var r=nA(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?cA:t?oA:sA)(n,t))}function uA(){this.textContent=``}function dA(e){return function(){this.textContent=e}}function fA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function pA(e){return arguments.length?this.each(e==null?uA:(typeof e==`function`?fA:dA)(e)):this.node().textContent}function mA(){this.innerHTML=``}function hA(e){return function(){this.innerHTML=e}}function gA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function _A(e){return arguments.length?this.each(e==null?mA:(typeof e==`function`?gA:hA)(e)):this.node().innerHTML}function vA(){this.nextSibling&&this.parentNode.appendChild(this)}function yA(){return this.each(vA)}function bA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function xA(){return this.each(bA)}function SA(e){var t=typeof e==`function`?e:ZO(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function CA(){return null}function wA(e,t){var n=typeof e==`function`?e:ZO(e),r=t==null?CA:typeof t==`function`?t:$O(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function TA(){var e=this.parentNode;e&&e.removeChild(this)}function EA(){return this.each(TA)}function DA(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function OA(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function kA(e){return this.select(e?OA:DA)}function AA(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function jA(e){return function(t){e.call(this,t,this.__data__)}}function MA(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function NA(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function PA(e,t,n){return function(){var r=this.__on,i,a=jA(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function FA(e,t,n){var r=MA(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?PA:NA,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function IA(e,t,n){var r=Gk(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function LA(e,t){return function(){return IA(this,e,t)}}function RA(e,t){return function(){return IA(this,e,t.apply(this,arguments))}}function zA(e,t){return this.each((typeof t==`function`?RA:LA)(e,t))}function*BA(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var VA=[null];function HA(e,t){this._groups=e,this._parents=t}function UA(){return new HA([[document.documentElement]],VA)}function WA(){return this}HA.prototype=UA.prototype={constructor:HA,select:ek,selectAll:ak,selectChild:dk,selectChildren:hk,filter:gk,data:wk,enter:vk,exit:Ek,join:Dk,merge:Ok,selection:WA,order:kk,sort:Ak,call:Mk,nodes:Nk,node:Pk,size:Fk,empty:Ik,each:Lk,attr:Wk,style:Yk,property:eA,classed:lA,text:pA,html:_A,raise:yA,lower:xA,append:SA,insert:wA,remove:EA,clone:kA,datum:AA,on:FA,dispatch:zA,[Symbol.iterator]:BA};function GA(e){return typeof e==`string`?new HA([[document.querySelector(e)]],[document.documentElement]):new HA([[e]],VA)}function KA(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function qA(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function JA(){}var YA=.7,XA=1/YA,ZA=`\\s*([+-]?\\d+)\\s*`,QA=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,$A=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,ej=/^#([0-9a-f]{3,8})$/,tj=RegExp(`^rgb\\(${ZA},${ZA},${ZA}\\)$`),nj=RegExp(`^rgb\\(${$A},${$A},${$A}\\)$`),rj=RegExp(`^rgba\\(${ZA},${ZA},${ZA},${QA}\\)$`),ij=RegExp(`^rgba\\(${$A},${$A},${$A},${QA}\\)$`),aj=RegExp(`^hsl\\(${QA},${$A},${$A}\\)$`),oj=RegExp(`^hsla\\(${QA},${$A},${$A},${QA}\\)$`),sj={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};KA(JA,fj,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:cj,formatHex:cj,formatHex8:lj,formatHsl:uj,formatRgb:dj,toString:dj});function cj(){return this.rgb().formatHex()}function lj(){return this.rgb().formatHex8()}function uj(){return Tj(this).formatHsl()}function dj(){return this.rgb().formatRgb()}function fj(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=ej.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?pj(t):n===3?new _j(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?mj(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?mj(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tj.exec(e))?new _j(t[1],t[2],t[3],1):(t=nj.exec(e))?new _j(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rj.exec(e))?mj(t[1],t[2],t[3],t[4]):(t=ij.exec(e))?mj(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=aj.exec(e))?wj(t[1],t[2]/100,t[3]/100,1):(t=oj.exec(e))?wj(t[1],t[2]/100,t[3]/100,t[4]):sj.hasOwnProperty(e)?pj(sj[e]):e===`transparent`?new _j(NaN,NaN,NaN,0):null}function pj(e){return new _j(e>>16&255,e>>8&255,e&255,1)}function mj(e,t,n,r){return r<=0&&(e=t=n=NaN),new _j(e,t,n,r)}function hj(e){return e instanceof JA||(e=fj(e)),e?(e=e.rgb(),new _j(e.r,e.g,e.b,e.opacity)):new _j}function gj(e,t,n,r){return arguments.length===1?hj(e):new _j(e,t,n,r??1)}function _j(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}KA(_j,gj,qA(JA,{brighter(e){return e=e==null?XA:XA**+e,new _j(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?YA:YA**+e,new _j(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _j(Sj(this.r),Sj(this.g),Sj(this.b),xj(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vj,formatHex:vj,formatHex8:yj,formatRgb:bj,toString:bj}));function vj(){return`#${Cj(this.r)}${Cj(this.g)}${Cj(this.b)}`}function yj(){return`#${Cj(this.r)}${Cj(this.g)}${Cj(this.b)}${Cj((isNaN(this.opacity)?1:this.opacity)*255)}`}function bj(){let e=xj(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Sj(this.r)}, ${Sj(this.g)}, ${Sj(this.b)}${e===1?`)`:`, ${e})`}`}function xj(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Sj(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cj(e){return e=Sj(e),(e<16?`0`:``)+e.toString(16)}function wj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Dj(e,t,n,r)}function Tj(e){if(e instanceof Dj)return new Dj(e.h,e.s,e.l,e.opacity);if(e instanceof JA||(e=fj(e)),!e)return new Dj;if(e instanceof Dj)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Dj(o,s,c,e.opacity)}function Ej(e,t,n,r){return arguments.length===1?Tj(e):new Dj(e,t,n,r??1)}function Dj(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}KA(Dj,Ej,qA(JA,{brighter(e){return e=e==null?XA:XA**+e,new Dj(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?YA:YA**+e,new Dj(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new _j(Aj(e>=240?e-240:e+120,i,r),Aj(e,i,r),Aj(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Dj(Oj(this.h),kj(this.s),kj(this.l),xj(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=xj(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Oj(this.h)}, ${kj(this.s)*100}%, ${kj(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Oj(e){return e=(e||0)%360,e<0?e+360:e}function kj(e){return Math.max(0,Math.min(1,e||0))}function Aj(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var jj=e=>()=>e;function Mj(e,t){return function(n){return e+n*t}}function Nj(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Pj(e){return(e=+e)==1?Fj:function(t,n){return n-t?Nj(t,n,e):jj(isNaN(t)?n:t)}}function Fj(e,t){var n=t-e;return n?Mj(e,n):jj(isNaN(e)?t:e)}var Ij=(function e(t){var n=Pj(t);function r(e,t){var r=n((e=gj(e)).r,(t=gj(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Fj(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Lj(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Rj(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function zj(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=Jj(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Bj(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Vj(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Hj(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Jj(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Uj=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Wj=new RegExp(Uj.source,`g`);function Gj(e){return function(){return e}}function Kj(e){return function(t){return e(t)+``}}function qj(e,t){var n=Uj.lastIndex=Wj.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Uj.exec(e))&&(i=Wj.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Vj(r,i)})),n=Wj.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Kj(c[0].x):Gj(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Jj(e,t){var n=typeof t,r;return t==null||n===`boolean`?jj(t):(n===`number`?Vj:n===`string`?(r=fj(t))?(t=r,Ij):qj:t instanceof fj?Ij:t instanceof Date?Bj:Rj(t)?Lj:Array.isArray(t)?zj:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Hj:Vj)(e,t)}function Yj(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Xj=180/Math.PI,Zj={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Qj(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Xj,skewX:Math.atan(c)*Xj,scaleX:o,scaleY:s}}var $j;function eM(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Zj:Qj(t.a,t.b,t.c,t.d,t.e,t.f)}function tM(e){return e==null||($j||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),$j.setAttribute(`transform`,e),!(e=$j.transform.baseVal.consolidate()))?Zj:(e=e.matrix,Qj(e.a,e.b,e.c,e.d,e.e,e.f))}function nM(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Vj(e,i)},{i:c-2,x:Vj(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Vj(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Vj(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Vj(e,n)},{i:s-2,x:Vj(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var rM=nM(eM,`px, `,`px)`,`deg)`),iM=nM(tM,`, `,`)`,`)`),aM=0,oM=0,sM=0,cM=1e3,lM,uM,dM=0,fM=0,pM=0,mM=typeof performance==`object`&&performance.now?performance:Date,hM=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gM(){return fM||=(hM(_M),mM.now()+pM)}function _M(){fM=0}function vM(){this._call=this._time=this._next=null}vM.prototype=yM.prototype={constructor:vM,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?gM():+n)+(t==null?0:+t),!this._next&&uM!==this&&(uM?uM._next=this:lM=this,uM=this),this._call=e,this._time=n,wM()},stop:function(){this._call&&(this._call=null,this._time=1/0,wM())}};function yM(e,t,n){var r=new vM;return r.restart(e,t,n),r}function bM(){gM(),++aM;for(var e=lM,t;e;)(t=fM-e._time)>=0&&e._call.call(void 0,t),e=e._next;--aM}function xM(){fM=(dM=mM.now())+pM,aM=oM=0;try{bM()}finally{aM=0,CM(),fM=0}}function SM(){var e=mM.now(),t=e-dM;t>cM&&(pM-=t,dM=e)}function CM(){for(var e,t=lM,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:lM=n);uM=e,wM(r)}function wM(e){aM||(oM&&=clearTimeout(oM),e-fM>24?(e<1/0&&(oM=setTimeout(xM,e-mM.now()-pM)),sM&&=clearInterval(sM)):(sM||=(dM=mM.now(),setInterval(SM,cM)),aM=1,hM(xM)))}function TM(e,t,n){var r=new vM;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var EM=HO(`start`,`end`,`cancel`,`interrupt`),DM=[];function OM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;MM(e,n,{name:t,index:r,group:i,on:EM,tween:DM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function kM(e,t){var n=jM(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function AM(e,t){var n=jM(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function jM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function MM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=yM(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return TM(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(TM(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function NM(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function PM(e){return this.each(function(){NM(this,e)})}function FM(e,t){var n,r;return function(){var i=AM(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function IM(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=AM(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function LM(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=jM(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?FM:IM)(n,e,t))}function RM(e,t,n){var r=e._id;return e.each(function(){var e=AM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return jM(e,r).value[t]}}function zM(e,t){var n;return(typeof t==`number`?Vj:t instanceof fj?Ij:(n=fj(t))?(t=n,Ij):qj)(e,t)}function BM(e){return function(){this.removeAttribute(e)}}function VM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function HM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function UM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function WM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function GM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function KM(e,t){var n=JO(e),r=n===`transform`?iM:zM;return this.attrTween(e,typeof t==`function`?(n.local?GM:WM)(n,r,RM(this,`attr.`+e,t)):t==null?(n.local?VM:BM)(n):(n.local?UM:HM)(n,r,t))}function qM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function JM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function YM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&JM(e,i)),n}return i._value=t,i}function XM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&qM(e,i)),n}return i._value=t,i}function ZM(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=JO(e);return this.tween(n,(r.local?YM:XM)(r,t))}function QM(e,t){return function(){kM(this,e).delay=+t.apply(this,arguments)}}function $M(e,t){return t=+t,function(){kM(this,e).delay=t}}function eN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?QM:$M)(t,e)):jM(this.node(),t).delay}function tN(e,t){return function(){AM(this,e).duration=+t.apply(this,arguments)}}function nN(e,t){return t=+t,function(){AM(this,e).duration=t}}function rN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?tN:nN)(t,e)):jM(this.node(),t).duration}function iN(e,t){if(typeof t!=`function`)throw Error();return function(){AM(this,e).ease=t}}function aN(e){var t=this._id;return arguments.length?this.each(iN(t,e)):jM(this.node(),t).ease}function oN(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();AM(this,e).ease=n}}function sN(e){if(typeof e!=`function`)throw Error();return this.each(oN(this._id,e))}function cN(e){typeof e!=`function`&&(e=ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new LN(r,this._parents,this._name,this._id)}function lN(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new LN(o,this._parents,this._name,this._id)}function uN(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function dN(e,t,n){var r,i,a=uN(t)?kM:AM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function fN(e,t){var n=this._id;return arguments.length<2?jM(this.node(),n).on.on(e):this.each(dN(n,e,t))}function pN(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function mN(){return this.on(`end.remove`,pN(this._id))}function hN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=$O(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,OM(l[f],t,n,f,l,jM(u,n)));return new LN(a,this._parents,t,n)}function gN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=rk(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=jM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&OM(p,t,n,h,f,m);a.push(f),o.push(u)}return new LN(a,o,t,n)}var _N=UA.prototype.constructor;function vN(){return new _N(this._groups,this._parents)}function yN(e,t){var n,r,i;return function(){var a=Xk(this,e),o=(this.style.removeProperty(e),Xk(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function bN(e){return function(){this.style.removeProperty(e)}}function xN(e,t,n){var r,i=n+``,a;return function(){var o=Xk(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function SN(e,t,n){var r,i,a;return function(){var o=Xk(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Xk(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function CN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=AM(this,e),l=c.on,u=c.value[a]==null?s||=bN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function wN(e,t,n){var r=(e+=``)==`transform`?rM:zM;return t==null?this.styleTween(e,yN(e,r)).on(`end.style.`+e,bN(e)):typeof t==`function`?this.styleTween(e,SN(e,r,RM(this,`style.`+e,t))).each(CN(this._id,e)):this.styleTween(e,xN(e,r,t),n).on(`end.style.`+e,null)}function TN(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function EN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&TN(e,a,n)),r}return a._value=t,a}function DN(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,EN(e,t,n??``))}function ON(e){return function(){this.textContent=e}}function kN(e){return function(){var t=e(this);this.textContent=t??``}}function AN(e){return this.tween(`text`,typeof e==`function`?kN(RM(this,`text`,e)):ON(e==null?``:e+``))}function jN(e){return function(t){this.textContent=e.call(this,t)}}function MN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&jN(r)),t}return r._value=e,r}function NN(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,MN(e))}function PN(){for(var e=this._name,t=this._id,n=RN(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=jM(c,t);OM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new LN(r,this._parents,e,n)}function FN(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=AM(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var IN=0;function LN(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function RN(){return++IN}var zN=UA.prototype;LN.prototype={constructor:LN,select:hN,selectAll:gN,selectChild:zN.selectChild,selectChildren:zN.selectChildren,filter:cN,merge:lN,selection:vN,transition:PN,call:zN.call,nodes:zN.nodes,node:zN.node,size:zN.size,empty:zN.empty,each:zN.each,on:fN,attr:KM,attrTween:ZM,style:wN,styleTween:DN,text:AN,textTween:NN,remove:mN,tween:LM,delay:eN,duration:rN,ease:aN,easeVarying:sN,end:FN,[Symbol.iterator]:zN[Symbol.iterator]};function BN(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var VN={time:null,delay:0,duration:250,ease:BN};function HN(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function UN(e){var t,n;e instanceof LN?(t=e._id,e=e._name):(t=RN(),(n=VN).time=gM(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&OM(c,e,t,l,o,n||HN(c,t));return new LN(r,this._parents,e,t)}UA.prototype.interrupt=PM,UA.prototype.transition=UN;var{abs:WN,max:GN,min:KN}=Math;[`w`,`e`].map(qN),[`n`,`s`].map(qN),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(qN);function qN(e){return{type:e}}var JN=Math.PI,YN=2*JN,XN=1e-6,ZN=YN-XN;function QN(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function $N(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return QN;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var eP=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?QN:$N(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>XN){if(!(Math.abs(u*s-c*l)>XN)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((JN-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>XN&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>XN||Math.abs(this._y1-l)>XN)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%YN+YN),d>ZN?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>XN&&this._append`A${n},${n},0,${+(d>=JN)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};eP.prototype;function tP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function nP(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function rP(e){return e=nP(Math.abs(e)),e?e[1]:NaN}function iP(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function aP(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var oP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function sP(e){if(!(t=oP.exec(e)))throw Error(`invalid format: `+e);var t;return new cP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}sP.prototype=cP.prototype;function cP(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}cP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function lP(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var uP;function dP(e,t){var n=nP(e,t);if(!n)return uP=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(uP=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+nP(e,Math.max(0,t+a-1))[0]}function fP(e,t){var n=nP(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var pP={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:tP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>fP(e*100,t),r:fP,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function mP(e){return e}var hP=Array.prototype.map,gP=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function _P(e){var t=e.grouping===void 0||e.thousands===void 0?mP:iP(hP.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?mP:aP(hP.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=sP(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):pP[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=pP[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=lP(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&uP!==void 0?gP[8+uP/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3,r=10**-n,i=l((e=sP(e),e.type=`f`,e),{suffix:gP[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var vP,yP,bP;xP({thousands:`,`,grouping:[3],currency:[`$`,``]});function xP(e){return vP=_P(e),yP=vP.format,bP=vP.formatPrefix,vP}function SP(e){return Math.max(0,-rP(Math.abs(e)))}function CP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3-rP(Math.abs(e)))}function wP(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,rP(t)-rP(e))+1}function TP(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function EP(){return this.eachAfter(TP)}function DP(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function OP(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function kP(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function AP(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function jP(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function MP(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function NP(e){for(var t=this,n=PP(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function PP(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function FP(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function IP(){return Array.from(this)}function LP(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function RP(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*zP(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function BP(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=UP)):t===void 0&&(t=HP);for(var n=new KP(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new KP(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(GP)}function VP(){return BP(this).eachBefore(WP)}function HP(e){return e.children}function UP(e){return Array.isArray(e)?e[1]:null}function WP(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function GP(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function KP(e){this.data=e,this.depth=this.height=0,this.parent=null}KP.prototype=BP.prototype={constructor:KP,count:EP,each:DP,eachAfter:kP,eachBefore:OP,find:AP,sum:jP,sort:MP,path:NP,ancestors:FP,descendants:IP,leaves:LP,links:RP,copy:VP,[Symbol.iterator]:zP};function qP(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function JP(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function YP(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(qP),i}function a(e,t){return function(r){r.children&&JP(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}function XP(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var ZP=Symbol(`implicit`);function QP(){var e=new pO,t=[],n=[],r=ZP;function i(i){let a=e.get(i);if(a===void 0){if(r!==ZP)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new pO;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return QP(t,n).unknown(r)},XP.apply(i,arguments),i}function $P(){var e=QP().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=EO(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return $P(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},XP.apply(d(),arguments)}function eF(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return eF(t())},e}function tF(){return eF($P.apply(null,arguments).paddingInner(1))}function nF(e){return function(){return e}}function rF(e){return+e}var iF=[0,1];function aF(e){return e}function oF(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:nF(isNaN(t)?NaN:.5)}function sF(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function cF(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=oF(i,r),a=n(o,a)):(r=oF(r,i),a=n(a,o)),function(e){return a(r(e))}}function lF(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=oF(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=dO(e,t,1,r)-1;return a[n](i[n](t))}}function uF(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function dF(){var e=iF,t=iF,n=Jj,r,i,a,o=aF,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==aF&&(o=sF(e[0],e[n-1])),s=n>2?lF:cF,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Vj))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,rF),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Yj,u()},d.clamp=function(e){return arguments.length?(o=e?!0:aF,u()):o!==aF},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function fF(){return dF()(aF,aF)}function pF(e,t,n,r){var i=wO(e,t,n),a;switch(r=sP(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=CP(i,o))&&(r.precision=a),bP(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=wP(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=SP(i))&&(r.precision=a-(r.type===`%`)*2)}return yP(r)}function mF(e){var t=e.domain;return e.ticks=function(e){var n=t();return SO(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return pF(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=CO(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function hF(){var e=fF();return e.copy=function(){return uF(e,hF())},XP.apply(e,arguments),mF(e)}function gF(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}var _F=new Date,vF=new Date;function yF(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>yF(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(_F.setTime(+t),vF.setTime(+r),e(_F),e(vF),Math.floor(n(_F,vF))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var bF=yF(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);bF.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?yF(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):bF),bF.range;var xF=1e3,SF=xF*60,CF=SF*60,wF=CF*24,TF=wF*7,EF=wF*30,DF=wF*365,OF=yF(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*xF)},(e,t)=>(t-e)/xF,e=>e.getUTCSeconds());OF.range;var kF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getMinutes());kF.range;var AF=yF(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getUTCMinutes());AF.range;var jF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF-e.getMinutes()*SF)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getHours());jF.range;var MF=yF(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getUTCHours());MF.range;var NF=yF(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/wF,e=>e.getDate()-1);NF.range;var PF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>e.getUTCDate()-1);PF.range;var FF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>Math.floor(e/wF));FF.range;function IF(e){return yF(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/TF)}var LF=IF(0),RF=IF(1),zF=IF(2),BF=IF(3),VF=IF(4),HF=IF(5),UF=IF(6);LF.range,RF.range,zF.range,BF.range,VF.range,HF.range,UF.range;function WF(e){return yF(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/TF)}var GF=WF(0),KF=WF(1),qF=WF(2),JF=WF(3),YF=WF(4),XF=WF(5),ZF=WF(6);GF.range,KF.range,qF.range,JF.range,YF.range,XF.range,ZF.range;var QF=yF(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());QF.range;var $F=yF(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());$F.range;var eI=yF(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());eI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),eI.range;var tI=yF(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());tI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),tI.range;function nI(e,t,n,r,i,a){let o=[[OF,1,xF],[OF,5,5*xF],[OF,15,15*xF],[OF,30,30*xF],[a,1,SF],[a,5,5*SF],[a,15,15*SF],[a,30,30*SF],[i,1,CF],[i,3,3*CF],[i,6,6*CF],[i,12,12*CF],[r,1,wF],[r,2,2*wF],[n,1,TF],[t,1,EF],[t,3,3*EF],[e,1,DF]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=sO(([,,e])=>e).right(o,i);if(a===o.length)return e.every(wO(t/DF,n/DF,r));if(a===0)return bF.every(Math.max(wO(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[rI,iI]=nI(tI,$F,GF,FF,MF,AF),[aI,oI]=nI(eI,QF,LF,NF,jF,kF);function sI(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function cI(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function lI(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function uI(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=gI(i),u=_I(i),d=gI(a),f=_I(a),p=gI(o),m=_I(o),h=gI(s),g=_I(s),_=gI(c),v=_I(c),y={a:N,A:P,b:F,B:I,c:null,d:RI,e:RI,f:UI,g:eL,G:nL,H:zI,I:BI,j:VI,L:HI,m:WI,M:GI,p:L,q:R,Q:TL,s:EL,S:KI,u:qI,U:JI,V:XI,w:ZI,W:QI,x:null,X:null,y:$I,Y:tL,Z:rL,"%":wL},b={a:z,A:B,b:V,B:ee,c:null,d:iL,e:iL,f:lL,g:bL,G:SL,H:aL,I:oL,j:sL,L:cL,m:uL,M:dL,p:te,q:H,Q:TL,s:EL,S:fL,u:pL,U:mL,V:gL,w:_L,W:vL,x:null,X:null,y:yL,Y:xL,Z:CL,"%":wL},x={a:E,A:D,b:O,B:k,c:A,d:OI,e:OI,f:PI,g:wI,G:CI,H:AI,I:AI,j:kI,L:NI,m:DI,M:jI,p:T,q:EI,Q:II,s:LI,S:MI,u:yI,U:bI,V:xI,w:vI,W:SI,x:j,X:M,y:wI,Y:CI,Z:TI,"%":FI};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=dI[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=lI(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=cI(lI(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?KF.ceil(a):KF(a),a=PF.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=sI(lI(r.y,0,1)),o=a.getDay(),a=o>4||o===0?RF.ceil(a):RF(a),a=NF.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?cI(lI(r.y,0,1)).getUTCDay():sI(lI(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,cI(r)):sI(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in dI?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function ee(e){return s[e.getUTCMonth()]}function te(e){return i[+(e.getUTCHours()>=12)]}function H(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var dI={"-":``,_:` `,0:`0`},fI=/^\s*\d+/,pI=/^%/,mI=/[\\^$*+?|[\]().{}]/g;function Z(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function hI(e){return e.replace(mI,`\\$&`)}function gI(e){return RegExp(`^(?:`+e.map(hI).join(`|`)+`)`,`i`)}function _I(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function vI(e,t,n){var r=fI.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function yI(e,t,n){var r=fI.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function bI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function xI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function SI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function CI(e,t,n){var r=fI.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function wI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function TI(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function EI(e,t,n){var r=fI.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function DI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function OI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function kI(e,t,n){var r=fI.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function AI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function jI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function MI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function NI(e,t,n){var r=fI.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function PI(e,t,n){var r=fI.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function FI(e,t,n){var r=pI.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function II(e,t,n){var r=fI.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function LI(e,t,n){var r=fI.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function RI(e,t){return Z(e.getDate(),t,2)}function zI(e,t){return Z(e.getHours(),t,2)}function BI(e,t){return Z(e.getHours()%12||12,t,2)}function VI(e,t){return Z(1+NF.count(eI(e),e),t,3)}function HI(e,t){return Z(e.getMilliseconds(),t,3)}function UI(e,t){return HI(e,t)+`000`}function WI(e,t){return Z(e.getMonth()+1,t,2)}function GI(e,t){return Z(e.getMinutes(),t,2)}function KI(e,t){return Z(e.getSeconds(),t,2)}function qI(e){var t=e.getDay();return t===0?7:t}function JI(e,t){return Z(LF.count(eI(e)-1,e),t,2)}function YI(e){var t=e.getDay();return t>=4||t===0?VF(e):VF.ceil(e)}function XI(e,t){return e=YI(e),Z(VF.count(eI(e),e)+(eI(e).getDay()===4),t,2)}function ZI(e){return e.getDay()}function QI(e,t){return Z(RF.count(eI(e)-1,e),t,2)}function $I(e,t){return Z(e.getFullYear()%100,t,2)}function eL(e,t){return e=YI(e),Z(e.getFullYear()%100,t,2)}function tL(e,t){return Z(e.getFullYear()%1e4,t,4)}function nL(e,t){var n=e.getDay();return e=n>=4||n===0?VF(e):VF.ceil(e),Z(e.getFullYear()%1e4,t,4)}function rL(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function iL(e,t){return Z(e.getUTCDate(),t,2)}function aL(e,t){return Z(e.getUTCHours(),t,2)}function oL(e,t){return Z(e.getUTCHours()%12||12,t,2)}function sL(e,t){return Z(1+PF.count(tI(e),e),t,3)}function cL(e,t){return Z(e.getUTCMilliseconds(),t,3)}function lL(e,t){return cL(e,t)+`000`}function uL(e,t){return Z(e.getUTCMonth()+1,t,2)}function dL(e,t){return Z(e.getUTCMinutes(),t,2)}function fL(e,t){return Z(e.getUTCSeconds(),t,2)}function pL(e){var t=e.getUTCDay();return t===0?7:t}function mL(e,t){return Z(GF.count(tI(e)-1,e),t,2)}function hL(e){var t=e.getUTCDay();return t>=4||t===0?YF(e):YF.ceil(e)}function gL(e,t){return e=hL(e),Z(YF.count(tI(e),e)+(tI(e).getUTCDay()===4),t,2)}function _L(e){return e.getUTCDay()}function vL(e,t){return Z(KF.count(tI(e)-1,e),t,2)}function yL(e,t){return Z(e.getUTCFullYear()%100,t,2)}function bL(e,t){return e=hL(e),Z(e.getUTCFullYear()%100,t,2)}function xL(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function SL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?YF(e):YF.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function CL(){return`+0000`}function wL(){return`%`}function TL(e){return+e}function EL(e){return Math.floor(e/1e3)}var DL,OL;kL({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function kL(e){return DL=uI(e),OL=DL.format,DL.parse,DL.utcFormat,DL.utcParse,DL}function AL(e){return new Date(e)}function jL(e){return e instanceof Date?+e:+new Date(+e)}function ML(e,t,n,r,i,a,o,s,c,l){var u=fF(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,jL)):f().map(AL)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(gF(n,e)):u},u.copy=function(){return uF(u,ML(e,t,n,r,i,a,o,s,c,l))},u}function NL(){return XP.apply(ML(aI,oI,eI,QF,LF,NF,jF,kF,OF,OL).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function PL(e){return function(){return e}}var FL=Math.abs,IL=Math.atan2,LL=Math.cos,RL=Math.max,zL=Math.min,BL=Math.sin,VL=Math.sqrt,HL=Math.PI,UL=HL/2,WL=2*HL;function GL(e){return e>1?0:e<-1?HL:Math.acos(e)}function KL(e){return e>=1?UL:e<=-1?-UL:Math.asin(e)}function qL(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new eP(t)}function JL(e){return e.innerRadius}function YL(e){return e.outerRadius}function XL(e){return e.startAngle}function ZL(e){return e.endAngle}function QL(e){return e&&e.padAngle}function $L(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function eR(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/VL(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*VL(RL(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function tR(){var e=JL,t=YL,n=PL(0),r=null,i=XL,a=ZL,o=QL,s=null,c=qL(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-UL,m=a.apply(this,arguments)-UL,h=FL(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>WL-1e-12)s.moveTo(f*LL(p),f*BL(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*LL(m),d*BL(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):VL(d*d+f*f)),T=zL(FL(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=KL(w/d*BL(C)),j=KL(w/f*BL(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*LL(_),N=f*BL(_),P=d*LL(b),F=d*BL(b);if(T>1e-12){var I=f*LL(v),L=f*BL(v),R=d*LL(y),z=d*BL(y),B;if(h<HL){if(B=$L(M,N,R,z,I,L,P,F)){var V=M-B[0],ee=N-B[1],te=I-B[0],H=L-B[1],U=1/BL(GL((V*te+ee*H)/(VL(V*V+ee*ee)*VL(te*te+H*H)))/2),W=VL(B[0]*B[0]+B[1]*B[1]);E=zL(T,(d-W)/(U-1)),D=zL(T,(f-W)/(U+1))}else E=D=0}}S>1e-12?D>1e-12?(O=eR(R,z,M,N,f,D,g),k=eR(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,IL(O.y01,O.x01),IL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,IL(O.y01,O.x01),IL(O.y11,O.x11),!g),s.arc(0,0,f,IL(O.cy+O.y11,O.cx+O.x11),IL(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,IL(k.y11,k.x11),IL(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=eR(P,F,I,L,d,-E,g),k=eR(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,IL(O.y01,O.x01),IL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,IL(O.y01,O.x01),IL(O.y11,O.x11),!g),s.arc(0,0,d,IL(O.cy+O.y11,O.cx+O.x11),IL(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,IL(k.y11,k.x11),IL(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-HL/2;return[LL(r)*n,BL(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:PL(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:PL(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:PL(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:PL(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:PL(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function nR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function rR(e){this._context=e}rR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function iR(e){return new rR(e)}function aR(e){return e[0]}function oR(e){return e[1]}function sR(e,t){var n=PL(!0),r=null,i=iR,a=null,o=qL(s);e=typeof e==`function`?e:e===void 0?aR:PL(e),t=typeof t==`function`?t:t===void 0?oR:PL(t);function s(s){var c,l=(s=nR(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:PL(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function cR(e,t,n){var r=null,i=PL(!0),a=null,o=iR,s=null,c=qL(l);e=typeof e==`function`?e:e===void 0?aR:PL(+e),t=typeof t==`function`?t:PL(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?oR:PL(+n);function l(l){var u,d,f,p=(l=nR(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return sR().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:PL(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:PL(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:PL(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function lR(e){return e<0?-1:1}function uR(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(lR(a)+lR(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function dR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function fR(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function pR(e){this._context=e}pR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:fR(this,this._t0,dR(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,fR(this,dR(this,n=uR(this,e,t)),n);break;default:fR(this,this._t0,n=uR(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(pR.prototype).point=function(e,t){pR.prototype.point.call(this,t,e)};function mR(e){return new pR(e)}function hR(e,t){this._context=e,this._t=t}hR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function gR(e){return new hR(e,1)}function _R(e,t,n){this.k=e,this.x=t,this.y=n}_R.prototype={constructor:_R,scale:function(e){return e===1?this:new _R(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new _R(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var vR=new _R(1,0,0);yR.prototype=_R.prototype;function yR(e){for(;!e.__zoom;)if(!(e=e.parentNode))return vR;return e.__zoom}function bR(e,t=15){let n=e.split(` `),r=[],i=[],a=0;return n.forEach(e=>{a+e.length>t?(i.length&&r.push(i.join(` `)),i=[e],a=e.length):(i.push(e),a+=e.length+ +(i.length>0))}),i.length&&r.push(i.join(` `)),r}var xR={DECISIVE:20,ROUTINE:50},SR=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),CR={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},wR=`#cfd8dc`,TR=`COMPETITIVE`,ER=`ROUTINE`,DR=`DECISIVE`,OR=`WALKOVER`;function kR(e,t=xR){if(!e?.length)return;let n=[0,0],r=[0,0];for(let t of e)n[0]+=t.side1Score||0,n[1]+=t.side2Score||0,r[0]+=t.side1TiebreakScore||0,r[1]+=t.side2TiebreakScore||0;r[0]+r[1]&&(n[r[0]>r[1]?0:1]+=1);let i=Math.max(n[0],n[1]);if(i===0)return;let a=Math.round(Math.min(n[0],n[1])/i*100);return Number.isNaN(a)?OR:a<=t.DECISIVE?DR:a<=t.ROUTINE?ER:TR}function AR(e,n=xR){if(e)return kR(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function jR({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&SR.has(t))return OR;if(e)return n?.length?kR(n,i):AR(r,i)}function MR(e,t){return e?t?.[e]??CR[e]:wR}var{WILDCARD:NR,QUALIFIER:PR,LUCKY_LOSER:FR}=t.entryStatusConstants,IR=`text-anchor`,LR=`dominant-baseline`,RR=`fill-opacity`,zR=Object.assign({},...t.fixtures.countries.filter(e=>e.ioc).map(e=>({[e.ioc]:e.iso2})),...t.fixtures.countries.filter(e=>e.iso).map(e=>({[e.iso]:e.iso2})));function BR(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function VR(e){if(e)switch(e){case NR:return`WC`;case PR:return`Q`;case FR:return`LL`;default:return e}}function HR(e,t){let n=[];for(let r of e)for(let e of r.sides){let i=r.matchUpStatus===`BYE`&&!e.participantName;n.push({name:e.participantName||(i?`BYE`:``),participantName:e.participantName||(i?`BYE`:void 0),drawPosition:e.drawPosition,seedNumber:e.seedNumber,entryStatus:VR(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function UR(e,t){let n=e.winningSide!==void 0&&e.winningSide!==null?e.sides.find(t=>t.sideNumber===e.winningSide):void 0;!n&&e.matchUpStatus===`BYE`&&(n=e.sides.find(e=>e.participantName));let r=n?.participantName,i=r?t.get(r):void 0;return{winnerName:r,winnerSide:n,winnerLookup:i}}function WR(e,t,n,r){return e.map((e,i)=>{let a=i*2,o=[t[a],t[a+1]].filter(Boolean),{winnerName:s,winnerSide:c,winnerLookup:l}=UR(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:VR(c?.entryStatus)??l?.entryStatus,nationalityCode:c?.nationalityCode??l?.nationalityCode,scoreString:e.scoreString,matchUpStatus:e.matchUpStatus,competitiveness:e.competitiveness,matchUp:e,depth:n,children:o.length>0?o:void 0}})}function GR(e){let{roundMatchUps:t}=e,n=Object.keys(t).map(Number).sort((e,t)=>e-t);if(n.length===0)throw Error(`No round data found in draw`);let r=t[n[0]],i=BR(HR(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=WR(BR(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=WR(BR(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function KR(e,t){if(!e)return;let{seedNumber:n,entryStatus:r,drawPosition:i,participantName:a}=e,o;if(a?.trim().toUpperCase()===`BYE`)o=`#B0BEC5`;else if(n){let e=Number(n),t=hF().domain([1,32]).range([`0`,`1`]);o=hF().domain(EO(0,1,1/7)).range([`#81D4FA`,`#42A5F5`,`#1E88E5`,`#1565C0`,`#5C6BC0`,`#673AB7`,`#9C27B0`])(Number(t(e)))}else if(r?.toUpperCase()===`WC`)o=`red`;else if(r&&(r===`Q`||r===`LL`))o=hF().domain(EO(0,1,1/3)).range([`#FFF176`,`#FBC02D`,`#FF9800`])(t(i));else{let e=[`#C8E6C9`,`#81C784`,`#66BB6A`,`#4CAF50`,`#43A047`,`#388E3C`,`#2E7D32`,`#1B5E20`,`#A5D6A7`,`#90CAF9`,`#64B5F6`,`#42A5F5`,`#2196F3`,`#1E88E5`,`#1976D2`,`#1565C0`];o=hF().domain(EO(0,1,1/e.length)).range(e)(t(i))}e.color=o,e.children&&e.children.forEach(n=>{n.participantName===e.participantName&&(n.color=o),KR(n,t)})}function qR(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?MR(e.competitiveness,t):wR,e.children?.forEach(e=>qR(e,t)))}function JR(e,t){let n=[];return e.seedNumber?n.push(`Seed ${e.seedNumber}`):e.entryStatus&&n.push(e.entryStatus),t===7&&e.drawPosition&&n.push(`Draw ${e.drawPosition}`),n.length>0?n.join(` • `):void 0}function YR(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function XR(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=YR(t.children,e.participantName),r&&n.push(r.participantName);else{let r=JR(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function ZR(e,t){return-(e*t/2)+t/2}function QR(e,t,n){let r=GA(e).append(`svg`).attr(`width`,t).attr(`height`,n).style(`display`,`block`),i=r.append(`g`).attr(`transform`,`translate(${t/2}, ${n/2})`);return{svg:r,g:i,flagsGroup:i.append(`g`).attr(`class`,`flags-group`),winningFlagsGroup:i.append(`g`).attr(`class`,`winning-flags-group`),losingFlagsGroup:i.append(`g`).attr(`class`,`losing-flags-group`)}}function $R(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr(IR,`middle`).attr(LR,`middle`).attr(`font-size`,`${r}px`).attr(`font-weight`,`bold`).style(`fill`,`var(--chc-text-primary, #333)`).attr(`pointer-events`,`none`),o=r+i*.5;return{centerText:a,centerText2:e.append(`text`).attr(`x`,t/2).attr(`y`,n/2+o).attr(IR,`middle`).attr(LR,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function ez(e,t,n,r,i,a,o){n&&(i?(t.flagsGroup.selectAll(`text`).remove(),t.winningFlagsGroup.selectAll(`text`).remove(),t.losingFlagsGroup.selectAll(`text`).remove()):e.selectAll(`text`).remove(),e.append(`text`).attr(`font-size`,`${o}px`).attr(IR,`middle`).attr(LR,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(iz(n)))}function tz(e,n,r,i={}){let a=i.width||800,o=i.height||800,s=Math.min(a,o)/800*(i.textScaleFactor??1),c=28*s,l=24*s,u=30*s,d=r||i.title||`Tournament`,f=Object.assign({},...t.fixtures.countries.filter(e=>e.label).map(e=>({[e.ioc]:e.label})));if(!Object.keys(n?.roundMatchUps??{}).length)return{highlightPlayer:()=>0,hide:()=>void 0,setColorMode:()=>void 0};let p=GR(n),m=BP(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;YP().size([2*Math.PI,h-g])(m),KR(p,hF().domain([0,n.drawSize||128]).range([0,1])),qR(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=tR().startAngle(e=>e.x0).endAngle(e=>e.x1).innerRadius(e=>e.y0+g).outerRadius(e=>e.y1+g),{svg:S,g:C,flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E}=QR(e,a,o),D=new Set,O=e=>{e.nationalityCode&&D.add(e.nationalityCode),e.children&&e.children.forEach(O)};O(p);let k=Array.from(D),{centerText:A,centerText2:j}=$R(S,a,o,c,l);function M(){let e=bR(d,15);A.text(``),A.selectAll(`tspan`).remove(),j.text(``),j.selectAll(`tspan`).remove(),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let t=-(e.length*u/2)+u/2;A.attr(`y`,o/2+t),A.style(`display`,`block`),j.style(`display`,`none`)}function N(){if(w.selectAll(`text`).remove(),T.selectAll(`text`).remove(),E.selectAll(`text`).remove(),k.length===0)return;let e=hF().domain([0,k.length]).range([0,Math.PI*2]),t=_(20),n=g-t+10;w.selectAll(`text`).data(k).join(`text`).attr(`font-size`,`${t}px`).attr(IR,`middle`).attr(LR,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>iz(e)).style(`cursor`,`pointer`).on(`mouseover`,function(e,t){let n=f[t]||t;A.selectAll(`tspan`).remove(),A.attr(`y`,o/2),A.text(n).style(`display`,`block`),j.selectAll(`tspan`).remove(),j.text(``).style(`display`,`none`),F||C.selectAll(`path`).attr(RR,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(RR,.8),M()})}N(),M();let P=i.eventHandlers?.clickCenter;P&&C.insert(`circle`,`:first-child`).attr(`r`,g).attr(`fill`,`transparent`).style(`cursor`,`pointer`).on(`click`,P);let F=!1,I;function L(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=XR(n,t);r&&(n.opponent=r),A.selectAll(`tspan`).remove(),A.text(``),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let i=ZR(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==I?.toLowerCase()&&GA(e.currentTarget).attr(RR,.9):C.selectAll(`path`).attr(RR,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};ez(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&ez(E,s,n.opponent.nationalityCode,1,!1,i,r)}function R(e,t){if(F){let n=t.data.participantName?.toLowerCase()===I?.toLowerCase();GA(e.currentTarget).attr(RR,n?1:.2)}else C.selectAll(`path`).attr(RR,.8);N(),M()}let z=i.eventHandlers?.clickSegment;function B(e,t){if(!z)return;let n=t.data;z({participantName:n.participantName,drawPosition:n.drawPosition,seedNumber:n.seedNumber,entryStatus:n.entryStatus,nationalityCode:n.nationalityCode,scoreString:n.scoreString,matchUpStatus:n.matchUpStatus,competitiveness:n.competitiveness,roundName:n.roundName,depth:n.depth,matchUp:n.matchUp})}let V=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(RR,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,L).on(`mouseout`,R);z&&V.style(`cursor`,`pointer`).on(`click`,B),V.append(`title`).text(e=>{let t=e.data;if(t.participantName){let e=[t.participantName,`Draw: ${t.drawPosition||`N/A`}`];return t.competitiveness&&e.push(`Competitiveness: ${t.competitiveness}`),e.join(`
214
+ `,`2) content: () => element.cloneNode(true)`].join(` `))}var s=i.reduce(function(e,t){var n=t&&oy(t,r);return n&&e.push(n),e},[]);return gv(e)?s[0]:s}sy.defaultProps=Wv,sy.setDefaultProps=Kv,sy.currentInput=Dv,Object.assign({},xg,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),sy.setDefaultProps({render:ny});var cy=`#000000.#434343.#666666.#999999.#b7b7b7.#cccccc.#d9d9d9.#ffffff.#980000.#ff0000.#ff9900.#ffff00.#00ff00.#00ffff.#4a86e8.#0000ff.#9900ff.#ff00ff.#e6b8af.#f4cccc.#fce5cd.#fff2cc.#d9ead3.#d0e0e3.#c9daf8.#cfe2f3.#d9d2e9.#ead1dc`.split(`.`),ly=`notes-toolbar-recent-colors`,uy=8;function dy(){try{return JSON.parse(localStorage.getItem(ly)||`[]`)}catch{return[]}}function fy(e){let t=dy().filter(t=>t!==e);t.unshift(e),t.length>uy&&(t=t.slice(0,uy)),localStorage.setItem(ly,JSON.stringify(t))}function py(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(vy(e)),t.appendChild(yy(e)),t.appendChild(by(e)),t.appendChild(wy(e)),t.appendChild(Dy(e)),t.appendChild(Oy(e)),t.appendChild(Ay(e)),t}function my(e,t){for(let[n,r]of Object.entries(t)){let t=e.querySelector(`[data-action="${n}"]`);t&&t.classList.toggle(`is-active`,r)}}function hy(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function gy(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function _y(e,t,n,r){let i=document.createElement(`button`);return i.className=`notes-toolbar-btn`,i.dataset.action=e,i.title=n,i.type=`button`,i.innerHTML=t,r&&i.addEventListener(`click`,r),i}function vy(e){let t=gy(),n=document.createElement(`select`);n.dataset.action=`heading`,n.title=`Text style`;for(let e of[{value:`0`,label:`Paragraph`},{value:`1`,label:`Heading 1`},{value:`2`,label:`Heading 2`},{value:`3`,label:`Heading 3`},{value:`4`,label:`Heading 4`},{value:`5`,label:`Heading 5`},{value:`6`,label:`Heading 6`}]){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,n.appendChild(t)}return n.addEventListener(`change`,()=>{let t=parseInt(n.value,10);e.onHeading?.(t!==0&&t)}),t.appendChild(n),t}function yy(e){let t=gy();return t.appendChild(_y(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(_y(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(_y(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(_y(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function by(e){let t=gy();return t.appendChild(xy(`color`,`A`,`Text color`,`#000000`,t=>{fy(t),e.onColor?.(t)})),t.appendChild(xy(`background`,`A`,`Background color`,`#ffff00`,t=>{fy(t),e.onBackground?.(t)})),t}function xy(e,t,n,r,i){let a=document.createElement(`button`);a.className=`notes-toolbar-btn notes-toolbar-color-btn`,a.dataset.action=e,a.title=n,a.type=`button`;let o=document.createElement(`span`);o.className=`notes-toolbar-color-letter`,o.textContent=t,a.appendChild(o);let s=document.createElement(`span`);s.className=`notes-toolbar-color-bar`,s.style.backgroundColor=r,a.appendChild(s);let c;return a.addEventListener(`click`,()=>{if(c){c.destroy(),c=void 0;return}let e=Sy(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=sy(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Sy(e,t){let n=document.createElement(`div`);n.className=`notes-color-panel`;let r=document.createElement(`div`);r.className=`notes-color-swatches`;for(let n of cy)r.appendChild(Cy(n,n===e,t));n.appendChild(r);let i=dy();if(i.length){let r=document.createElement(`div`);r.className=`notes-color-section-label`,r.textContent=`Recent`,n.appendChild(r);let a=document.createElement(`div`);a.className=`notes-color-swatches`;for(let n of i)a.appendChild(Cy(n,n===e,t));n.appendChild(a)}let a=document.createElement(`div`);a.className=`notes-color-custom-row`;let o=document.createElement(`input`);o.type=`color`,o.value=e,o.className=`notes-color-custom-input`;let s=document.createElement(`label`);return s.className=`notes-color-custom-label`,s.textContent=`Custom...`,s.addEventListener(`click`,()=>o.click()),o.addEventListener(`input`,()=>t(o.value)),a.appendChild(o),a.appendChild(s),n.appendChild(a),n}function Cy(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=`notes-color-swatch`,t&&r.classList.add(`is-selected`),r.style.backgroundColor=e,(e===`#ffffff`||e===`#fff`)&&(r.style.border=`1px solid var(--chc-border-secondary)`),r.title=e,r.addEventListener(`click`,()=>n(e)),r}function wy(e){let t=gy();return t.appendChild(_y(`orderedList`,Ty(16,16,`<path d="M3 2h12v2H3zm0 5h12v2H3zm0 5h12v2H3z" fill="currentColor"/><text x="0" y="4" font-size="3.5" fill="currentColor">1</text><text x="0" y="9" font-size="3.5" fill="currentColor">2</text><text x="0" y="14" font-size="3.5" fill="currentColor">3</text>`),`Ordered list`,e.onOrderedList)),t.appendChild(_y(`bulletList`,Ty(16,16,`<circle cx="1.5" cy="3" r="1.5" fill="currentColor"/><circle cx="1.5" cy="8" r="1.5" fill="currentColor"/><circle cx="1.5" cy="13" r="1.5" fill="currentColor"/><path d="M5 2h10v2H5zm0 5h10v2H5zm0 5h10v2H5z" fill="currentColor"/>`),`Bullet list`,e.onBulletList)),t}function Ty(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var Ey={alignLeft:Ty(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Ty(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Ty(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Ty(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function Dy(e){let t=gy();return t.appendChild(_y(`alignLeft`,Ey.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(_y(`alignCenter`,Ey.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(_y(`alignRight`,Ey.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(_y(`alignJustify`,Ey.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function Oy(e){let t=gy();t.appendChild(_y(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(_y(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=_y(`link`,`⇗`,`Insert link`);ky(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=_y(`video`,`▷`,`Insert video`);return ky(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function ky(e,t,n,r){let i;e.addEventListener(`click`,()=>{if(i){i.destroy(),i=void 0;return}let a=document.createElement(`div`);a.className=`notes-url-panel`;let o=document.createElement(`div`);o.className=`notes-url-label`,o.textContent=t,a.appendChild(o);let s=document.createElement(`input`);s.type=`url`,s.className=`notes-url-input`,s.placeholder=n,a.appendChild(s);let c=document.createElement(`div`);c.className=`notes-url-actions`;let l=document.createElement(`button`);l.type=`button`,l.className=`button notes-url-cancel`,l.textContent=`Cancel`,l.addEventListener(`click`,()=>{i?.destroy(),i=void 0});let u=document.createElement(`button`);u.type=`button`,u.className=`button is-info notes-url-confirm`,u.textContent=`Insert`,u.addEventListener(`click`,()=>{let e=s.value.trim();e&&r(e),i?.destroy(),i=void 0}),c.appendChild(l),c.appendChild(u),a.appendChild(c),s.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),u.click()):e.key===`Escape`&&l.click()}),i=sy(e,{content:a,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onShown:()=>setTimeout(()=>s.focus(),0),onHidden:()=>{i?.destroy(),i=void 0}}),i.show()})}function Ay(e){let t=gy();return t.appendChild(_y(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function jy(e={}){let t=document.createElement(`div`);t.className=`notes-editor-content`;let l={toolbar:void 0,editorElement:t,editor:void 0,getHtml:()=>l.editor&&!l.editor.isEmpty?l.editor.getHTML():``,isEmpty:()=>!l.editor||l.editor.isEmpty,destroy:()=>{l.editor?.destroy(),l.editor=void 0}};l.toolbar=py({onHeading:e=>{l.editor&&(e===!1?l.editor.chain().focus().setParagraph().run():l.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>l.editor?.chain().focus().toggleBold().run(),onItalic:()=>l.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>l.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>l.editor?.chain().focus().toggleStrike().run(),onColor:e=>l.editor?.chain().focus().setColor(e).run(),onBackground:e=>l.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>l.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>l.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>l.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>l.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>l.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>l.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>l.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>l.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let u=()=>{if(l.editor){my(l.toolbar,{bold:l.editor.isActive(`bold`),italic:l.editor.isActive(`italic`),underline:l.editor.isActive(`underline`),strike:l.editor.isActive(`strike`),orderedList:l.editor.isActive(`orderedList`),bulletList:l.editor.isActive(`bulletList`),blockquote:l.editor.isActive(`blockquote`),codeBlock:l.editor.isActive(`codeBlock`),alignLeft:l.editor.isActive({textAlign:`left`}),alignCenter:l.editor.isActive({textAlign:`center`}),alignRight:l.editor.isActive({textAlign:`right`}),alignJustify:l.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(l.editor.isActive(`heading`,{level:e})){hy(l.toolbar,e);return}hy(l.toolbar,!1)}};return requestAnimationFrame(()=>{l.editor=new r.Editor({element:t,extensions:[o.default,i.TextStyle,n.Color,a.default.configure({multicolor:!0}),s.default.configure({types:[`heading`,`paragraph`]}),c.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:u,onTransaction:u})}),l}function My(e,t,n){if(!e)return{};let r=document.createElement(`aside`);r.classList.add(`menu`);let i={},a=e=>n&&e.close!==!1?t=>{t.stopPropagation(),n(),e.onClick()}:t=>{t.stopPropagation(),e.onClick()},o=0,s=()=>(o+=1,o),c=e=>e?.heading||e?.text||e?.label||`Item ${s()}`,l=e=>{let t=document.createElement(`li`);if(t.className=`font-medium`,e.style&&(t.style.cssText=e.style),e.onClick){let n=e.fontSize||`1em`;if(e.divider){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),t.appendChild(e)}else{let r=document.createElement(`a`),i=e.disabled?`0.4`:`1`;r.style.cssText=`text-decoration: none; opacity: ${i}; font-size: ${n}`,e.class&&r.classList.add(e.class),e.color&&(r.style.color=e.color),e.heading&&(r.style.fontWeight=`bold`),e.disabled||(r.onclick=a(e)),r.innerHTML=c(e),t.appendChild(r)}}else t.innerHTML=c(e),e.disabled||(t.onclick=e.onClick);return t},u;for(let e of t||[])if(!e.hide){if(e.items){if(e.text){let t=document.createElement(`p`);t.className=`menu-label font-medium`,t.innerHTML=e.text,r.appendChild(t)}let t=document.createElement(`ul`);t.className=`menu-list`;for(let n of e.items)n.hide||t.appendChild(l(n));r.appendChild(t)}else if(e.type===`input`){let{field:t,inputElement:n}=mn(e);e.focus&&(u=n),i[e.field]=n,r.appendChild(t)}else if(e.type===`divider`){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),r.appendChild(e)}}return e.appendChild(r),{focusElement:u}}function Ny(e){return typeof e==`function`}var Py;function Fy(e){Py&&=(Py?.destroy(!0),void 0),e?.remove&&e.remove()}function Iy(e){let{title:t,options:n,menuItems:r=[],coords:i,callback:a,config:o}=e,{target:s,items:c}=e;if(!n?.length&&!c?.length&&!r)return;Fy();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(Py=sy(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{Fy(l),Ny(e.onClick)&&e.onClick()}}))||n?.filter(e=>!e.hide&&!e.disabled).map(e=>({text:typeof e==`object`?e.option:e,style:e.style,onClick:()=>{e.subMenu?Py.setContent(`IMPLEMENT SUB MENU`):Ny(e.onClick)?(Fy(l),e.onClick()):Ny(a)&&a&&(Fy(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=My(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),Py.show(),Py.setProps({interactive:!0})),Py}var Y=`court-line`;function X(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function Ly(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return n.setAttribute(`viewBox`,e),n.setAttribute(`class`,t),n.setAttribute(`fill`,`none`),n.style.width=`100%`,n.style.height=`auto`,n.style.display=`block`,n}function Ry(e){let t=Ly(`0 0 360 780`,e);for(let e of[`M 0 0 L 360 0 L 360 780 L 0 780 Z`,`M 45 0 L 45 780`,`M 315 0 L 315 780`,`M 0 390 L 360 390`,`M 45 210 L 315 210`,`M 45 570 L 315 570`,`M 180 210 L 180 570`,`M 180 0 L 180 20`,`M 180 760 L 180 780`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function zy(e){let t=Ly(`0 0 500 470`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:Y}),X(`circle`,{cx:`250`,cy:`470`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:Y}),X(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:Y}),X(`circle`,{cx:`250`,cy:`190`,r:`60`,class:Y}),X(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:Y}),X(`circle`,{cx:`250`,cy:`52`,r:`12`,class:Y}),X(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:Y})];for(let e of n)t.appendChild(e);return t}function By(e){let t=Ly(`0 0 500 440`,e),n=[X(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:Y}),X(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:Y}),X(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:Y}),X(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:Y}),X(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:Y}),X(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:Y}),X(`circle`,{cx:`250`,cy:`340`,r:`9`,class:Y}),X(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:Y}),X(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:Y}),X(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:Y}),X(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:Y}),X(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:Y}),X(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:Y}),X(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:Y})];for(let e of n)t.appendChild(e);return t}function Vy(e){let t=Ly(`0 0 850 2000`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:Y}),X(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:Y}),X(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:Y}),X(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:Y}),X(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:Y}),X(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:Y}),X(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:Y}),X(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:Y}),X(`circle`,{cx:`270`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:Y})];for(let e of n)t.appendChild(e);return t}function Hy(e){let t=Ly(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 0 220 L 200 220`,`M 0 150 L 200 150`,`M 0 290 L 200 290`,`M 100 0 L 100 150`,`M 100 290 L 100 440`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function Uy(e){let t=Ly(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 18 0 L 18 440`,`M 182 0 L 182 440`,`M 0 220 L 200 220`,`M 0 146 L 200 146`,`M 0 294 L 200 294`,`M 0 30 L 200 30`,`M 0 410 L 200 410`,`M 100 146 L 100 220`,`M 100 220 L 100 294`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function Wy(e){let t=Ly(`0 0 100 200`,e);for(let e of[`M 0 0 L 100 0 L 100 200 L 0 200 Z`,`M 0 100 L 100 100`,`M 0 69.5 L 100 69.5`,`M 0 130.5 L 100 130.5`,`M 50 69.5 L 50 67.5`,`M 50 130.5 L 50 132.5`])t.appendChild(X(`path`,{d:e,class:Y}));return t}var Gy=`COURT_SVG`,Ky={tennis:Ry,basketball:zy,baseball:By,hockey:Vy,pickleball:Hy,badminton:Uy,padel:Wy},qy={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},Jy={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function Yy(e){if(e){for(let[t,n]of Object.entries(Jy))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function Xy(e){let t=e?.competitionFormat?.sport;return t&&qy[t]?qy[t]:Yy(e?.matchUpFormat)}function Zy(e){let t=e.getAttribute(`viewBox`);if(!t)return e;let n=t.split(/\s+/).map(Number);if(n.length!==4)return e;let[r,i,a,o]=n;if(o<=a)return e;e.setAttribute(`viewBox`,`${r} ${i} ${o} ${a}`);let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(s.setAttribute(`transform`,`translate(${o}, 0) rotate(90)`);e.firstChild;)s.appendChild(e.firstChild);return e.appendChild(s),e}function Qy(e,t=``){let n=e?Ky[e]:void 0;if(n)return Zy(n(t?`court--${e} ${t}`:`court--${e}`))}function $y(e){let t=[];return e.city&&t.push(e.city),(e.state||e.region)&&t.push(e.state||e.region),e.countryCode?t.push(e.countryCode):e.country&&t.push(e.country),t.join(`, `)}function eb(e){if(!e)return;let t=$y(e);return t.length?t:void 0}function tb(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?eb(n)??t.venueName:t.venueName}var nb=/^(\d{4})-(\d{2})-(\d{2})/,rb=864e5;function ib(e){if(!e)return null;let t=nb.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?null:{year:n,month:r,day:i}}function ab(e,t){if(!t)return new Date(e.year,e.month-1,e.day);let n=Date.UTC(e.year,e.month-1,e.day,0,0,0,0),r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),i=new Date(n);for(let e=0;e<2;e++){let e=r.formatToParts(i),t=t=>Number(e.find(e=>e.type===t)?.value??0),a=Date.UTC(t(`year`),t(`month`)-1,t(`day`),t(`hour`),t(`minute`),t(`second`))-i.getTime();i=new Date(n-a)}return i}function ob(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=ab(e,t),r=new Date(n.getTime()+rb),i=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(r),a=e=>Number(i.find(t=>t.type===e)?.value??0);return ab({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function sb(e){if(!e)return null;let t=ib(e);if(t)return new Date(t.year,t.month-1,t.day);let n=new Date(e);return Number.isNaN(n.getTime())?null:n}function cb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function lb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function ub(e,t){if(!e&&!t)return;let n=sb(e),r=sb(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(i||a)return i&&a&&n.getTime()===r.getTime()?lb(n):i&&a?n.getFullYear()===r.getFullYear()?`${cb(n)} – ${cb(r)}, ${r.getFullYear()}`:`${lb(n)} – ${lb(r)}`:lb(i?n:r)}function db(e){return e.slice().sort((e,t)=>{let n=e.courtOrder,r=t.courtOrder;return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number.isFinite(n)&&!Number.isFinite(r)?-1:!Number.isFinite(n)&&Number.isFinite(r)?1:e.courtName.localeCompare(t.courtName,void 0,{numeric:!0})})}var fb=`URL`;function pb(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===fb);return n?.url??n?.identifier}function mb(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function hb(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function gb(...e){for(let t of e){let e=hb(t);if(e!==void 0)return e}}function _b(e){let t=document.createElement(`div`);if(t.className=e.cardClass,t.setAttribute(`aria-busy`,`true`),e.showImage){let n=document.createElement(`div`);n.className=e.imageClass;let r=document.createElement(`div`);r.className=e.blockClass,n.appendChild(r),t.appendChild(n)}if(e.bodyLines>0){let n=document.createElement(`div`);n.className=e.bodyClass;for(let t=0;t<e.bodyLines;t++){let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=t===0?`90%`:`${60+t*10}%`,n.appendChild(r)}t.appendChild(n)}if(e.showFooter){let n=document.createElement(`div`);n.className=e.footerClass;let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=`40%`,n.appendChild(r),t.appendChild(n)}return t}var vb={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function yb(e){return e?{showImage:e.showImage??vb.showImage,cornerBadges:e.cornerBadges??vb.cornerBadges,body:e.body??vb.body,footer:e.footer??vb.footer}:vb}var bb=()=>`chc-tc-card`,xb=()=>`chc-tc-card--clickable`,Sb=()=>`chc-tc-card--offline`,Cb=()=>`chc-tc-image`,wb=()=>`chc-tc-image-img`,Tb=()=>`chc-tc-image-svg`,Eb=()=>`chc-tc-image-placeholder`,Db=()=>`chc-tc-corner-badges`,Ob=()=>`chc-tc-status-pill`,kb=()=>`chc-tc-offline-badge`,Ab=()=>`chc-tc-body`,jb=()=>`chc-tc-title`,Mb=()=>`chc-tc-location`,Nb=()=>`chc-tc-date-range`,Pb=()=>`chc-tc-organizer`,Fb=()=>`chc-tc-updated-at`,Ib=()=>`chc-tc-footer`,Lb=()=>`chc-tc-fee-badge`,Rb=()=>`chc-tc-player-count`,zb=()=>`chc-tc-event-count`,Bb=()=>`chc-tc-tier-badge`,Vb=()=>`chc-tc-card chc-tc-skeleton`,Hb=()=>`chc-tc-skeleton-line`,Ub=()=>`chc-tc-skeleton-block`;function Wb(e,t,n){let r=yb(t),i=document.createElement(`div`);return i.className=bb(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Sb()),n?.onClick&&(i.classList.add(xb()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(Gb(e,r)),r.body.length&&i.appendChild(Xb(e,r)),r.footer.length&&i.appendChild(ix(e,r)),i}function Gb(e,t){let n=document.createElement(`div`);if(n.className=Cb(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=wb(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>qb(n,e)),n.appendChild(t)}else Kb(n,e);if(t.cornerBadges.length){let r=Jb(e,t.cornerBadges);r&&n.appendChild(r)}return n}function Kb(e,t){let n=Qy(t.courtSvgSport,Tb());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Eb(),e.appendChild(r)}function qb(e,t){e.querySelector(`.${wb()}`)?.remove(),Kb(e,t)}function Jb(e,t){let n=[];for(let r of t){let t=Yb(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Db();for(let e of n)r.appendChild(e);return r}function Yb(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=Ob(),e.dataset.kind=t.status.kind,e.textContent=t.status.label,e}if(e===`offline`){if(!t.offline)return null;let e=document.createElement(`div`);return e.className=kb(),e.textContent=`Offline`,e}return null}function Xb(e,t){let n=document.createElement(`div`);n.className=Ab();for(let r of t.body){let t=Zb(r,e);t&&n.appendChild(t)}return n}function Zb(e,t){switch(e){case`title`:return Qb(t);case`tier`:return $b(t);case`location`:return ex(t);case`dateRange`:return tx(t);case`organizerName`:return nx(t);case`updatedAt`:return rx(t);default:return null}}function Qb(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=jb(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function $b(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=Bb(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function ex(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=Mb(),t.textContent=e.location,t.title=e.location,t}function tx(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=Nb(),t.textContent=e.dateRangeFormatted,t}function nx(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=Pb(),t.textContent=e.organizerName,t}function rx(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=Fb();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function ix(e,t){let n=document.createElement(`div`);n.className=Ib();for(let r of t.footer){let t=ax(r,e);t&&n.appendChild(t)}return n}function ax(e,t){switch(e){case`feeBadge`:return ox(t);case`playerCount`:return sx(t);case`eventCount`:return cx(t);default:return null}}function ox(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=Lb(),t.textContent=e.feeFormatted,t}function sx(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=Rb(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function cx(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=zb(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function lx(e){let t=yb(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:Vb(),imageClass:Cb(),bodyClass:Ab(),footerClass:Ib(),blockClass:Ub(),lineClass:Hb()})}var ux=6048e5;function dx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function fx(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function px(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function mx(e,t=new Date){let n=e.tournamentStatus?.toUpperCase();if(n===`CANCELLED`||n===`ABANDONDED`||n===`ABANDONED`)return{kind:`cancelled`,label:`Cancelled`};let r=e.timeZone,i=ib(e.endDate),a=i?ob(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=ib(e.startDate);if(fx(t,o?ab(o,r):null,a))return{kind:`live`,label:`Live`};let s=dx(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=ux)return{kind:`closing-soon`,label:`Closing Soon`}}let c=dx(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:px(c)}:null}var hx=`–`,gx={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function _x({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(gx[t]??2)}function vx(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function yx(e){let t=[];for(let n of e)typeof n?.amount!=`number`||Number.isNaN(n.amount)||n.currencyCode&&n.unit&&t.push({amount:n.amount,currencyCode:n.currencyCode,unit:n.unit});return t}function bx(e){if(!e?.length)return null;let t=yx(e);if(!t.length)return null;let n=new Map;for(let e of t){let t=`${e.currencyCode}/${e.unit}`,r=n.get(t);r?r.push(e):n.set(t,[e])}let r=[...n.values()].sort((e,t)=>t.length-e.length),i=r[0],a=i[0].currencyCode,o=i.map(_x).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${vx(s,a)}`:s===c?`${a} ${vx(s,a)}`:`${a} ${vx(s,a)} ${hx} ${vx(c,a)}`}var xx=`tournamentImage`;function Sx(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function Cx(e,t){let n=e?.individualParticipantCount;return typeof n==`number`?n||void 0:t.filter(e=>(!e?.participantType||e.participantType===`INDIVIDUAL`)&&(!e?.participantRole||e.participantRole===`COMPETITOR`)).length||void 0}function wx(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Tx(e,t){let n=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,r=Array.isArray(e?.venues)?e.venues:[],i=Array.isArray(e?.participants)?e.participants:[],a=Array.isArray(e?.events)?e.events:[],o=t?.statusOverride===void 0?mx({tournamentStatus:e?.tournamentStatus,startDate:e?.startDate,endDate:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:e?.localTimeZone||e?.timeZone},t?.now):t.statusOverride,s=e?.tournamentImageURL??pb(n,xx),c=e?.courtSvgSport??mb(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:ub(e?.startDate,e?.endDate),location:tb(r),tournamentImageURL:s,courtSvgSport:c,participantCount:Cx(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:bx(Sx(e)),updatedAt:e?.updatedAt,offline:wx(e),tournamentTier:Ex(e)}}function Ex(e){let t=e?.tournamentTier;if(!t||typeof t!=`object`||typeof t.system!=`string`||typeof t.value!=`string`)return;let n={system:t.system,value:t.value};return typeof t.numericRank==`number`&&Number.isFinite(t.numericRank)&&(n.numericRank=t.numericRank),n}var Dx={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function Ox(e){return e?{showImage:e.showImage??Dx.showImage,showMap:e.showMap??Dx.showMap,cornerBadges:e.cornerBadges??Dx.cornerBadges,body:e.body??Dx.body,footer:e.footer??Dx.footer}:Dx}var kx=()=>`chc-vc-card`,Ax=()=>`chc-vc-card--clickable`,jx=()=>`chc-vc-image`,Mx=()=>`chc-vc-image-img`,Nx=()=>`chc-vc-image-svg`,Px=()=>`chc-vc-image-map`,Fx=()=>`chc-vc-image-placeholder`,Ix=()=>`chc-vc-corner-badges`,Lx=()=>`chc-vc-primary-badge`,Rx=()=>`chc-vc-body`,zx=()=>`chc-vc-title`,Bx=()=>`chc-vc-address`,Vx=()=>`chc-vc-court-breakdown`,Hx=()=>`chc-vc-footer`,Ux=()=>`chc-vc-amenity-row`,Wx=()=>`chc-vc-amenity`,Gx=()=>`chc-vc-card chc-vc-skeleton`,Kx=()=>`chc-vc-skeleton-line`,qx=()=>`chc-vc-skeleton-block`;function Jx(e,t,n){let r=Ox(t),i=document.createElement(`div`);i.className=kx(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=Qx(e,r,()=>f()),i.appendChild(a));let o=r.body.length?oS(e,r):null;o&&i.appendChild(o);let s=r.footer.length?uS(e,r):null;s&&i.appendChild(s);function c(){return!!a?.querySelector(`iframe`)}let l=new Map;function u(e,t){if(l.has(e))return;let n=e=>{e.stopPropagation(),t()},r=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};e.classList.add(Ax()),e.tabIndex=0,e.addEventListener(`click`,n),e.addEventListener(`keydown`,r),l.set(e,{click:n,keydown:r})}function d(e){let t=l.get(e);t&&(e.removeEventListener(`click`,t.click),e.removeEventListener(`keydown`,t.keydown),e.classList.remove(Ax()),e.removeAttribute(`tabindex`),l.delete(e))}function f(){if(!n?.onClick)return;let t=()=>n.onClick(e);c()?(d(i),o&&u(o,t),s&&u(s,t)):(o&&d(o),s&&d(s),u(i,t))}return f(),i}function Yx(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function Xx(e){let t=e.latitude,n=e.longitude,r=.01,i=`https://www.openstreetmap.org/export/embed.html?bbox=${`${n-r},${t-r},${n+r},${t+r}`}&marker=${t},${n}&layer=mapnik`,a=document.createElement(`iframe`);return a.className=Px(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function Zx(e,t){let n=Qy(t.courtSvgSport,Nx());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Fx(),e.appendChild(r)}function Qx(e,t,n){let r=document.createElement(`div`);if(r.className=jx(),e.venueImageURL){let i=document.createElement(`img`);i.className=Mx(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&Yx(e)?r.appendChild(Xx(e)):Zx(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&Yx(e)?r.appendChild(Xx(e)):Zx(r,e);if(t.cornerBadges.length){let n=eS(e,t.cornerBadges);n&&r.appendChild(n)}return r}function $x(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=Lx(),e.textContent=`Primary`,e}return null}function eS(e,t){let n=[];for(let r of t){let t=$x(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Ix();for(let e of n)r.appendChild(e);return r}function tS(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=zx(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function nS(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=Bx(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function rS(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=Vx(),t.textContent=e.courtBreakdown,t}function iS(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=Vx(),t.textContent=e.venueAbbreviation,t}function aS(e,t){return e===`title`?tS(t):e===`address`?nS(t):e===`courtBreakdown`?rS(t):e===`venueAbbreviation`?iS(t):null}function oS(e,t){let n=document.createElement(`div`);n.className=Rx();for(let r of t.body){let t=aS(r,e);t&&n.appendChild(t)}return n}function sS(e){let t=document.createElement(`span`);return t.className=Wx(),t.textContent=e,t}function cS(e){let t=[];if(typeof e.courtCount==`number`&&t.push(sS(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(sS(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(sS(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(sS(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=Ux();for(let e of t)n.appendChild(e);return n}function lS(e,t){return e===`amenityRow`?cS(t):e===`address`?nS(t):e===`courtBreakdown`?rS(t):null}function uS(e,t){let n=document.createElement(`div`);n.className=Hx();for(let r of t.footer){let t=lS(r,e);t&&n.appendChild(t)}return n}function dS(e){let t=Ox(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:Gx(),imageClass:jx(),bodyClass:Rx(),footerClass:Hx(),blockClass:qx(),lineClass:Kx()})}var fS=`venueImage`;function pS(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function mS(e){if(!e.length)return;let t=new Map;for(let n of e){let e=pS(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${t} ${e}`).join(`, `)}function hS(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function gS(e,t){let n=Array.isArray(e?.courts)?e.courts:[],r=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,i=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:eb(i),latitude:hb(i?.latitude),longitude:hb(i?.longitude),courtCount:n.length||void 0,courtBreakdown:mS(n),indoorCount:hS(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:hS(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:hS(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??pb(r,fS),courtSvgSport:e?.courtSvgSport??mb(r)??t?.sport,notes:e?.notes}}var _S={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function vS(e){return e?{showImage:e.showImage??_S.showImage,cornerBadges:e.cornerBadges??_S.cornerBadges,body:e.body??_S.body,footer:e.footer??_S.footer}:_S}var yS=()=>`chc-cc-card`,bS=()=>`chc-cc-card--clickable`,xS=()=>`chc-cc-image`,SS=()=>`chc-cc-image-svg`,CS=()=>`chc-cc-image-placeholder`,wS=()=>`chc-cc-corner-badges`,TS=()=>`chc-cc-indoor-badge`,ES=()=>`chc-cc-floodlit-badge`,DS=()=>`chc-cc-body`,OS=()=>`chc-cc-title`,kS=()=>`chc-cc-surface`,AS=()=>`chc-cc-availability`,jS=()=>`chc-cc-abbr`,MS=()=>`chc-cc-footer`,NS=()=>`chc-cc-amenity-row`,PS=()=>`chc-cc-card chc-cc-skeleton`,FS=()=>`chc-cc-skeleton-line`,IS=()=>`chc-cc-skeleton-block`;function LS(e,t,n){let r=vS(t),i=document.createElement(`div`);return i.className=yS(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(bS()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(zS(e,r)),r.body.length&&i.appendChild(YS(e,r)),r.footer.length&&i.appendChild(QS(e,r)),i}function RS(e,t){let n=Qy(t.courtSvgSport,SS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=CS(),e.appendChild(r)}function zS(e,t){let n=document.createElement(`div`);if(n.className=xS(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),RS(n,e),t.cornerBadges.length){let r=US(e,t.cornerBadges);r&&n.appendChild(r)}return n}function BS(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=TS(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function VS(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=ES(),t.textContent=`Lit`,t}function HS(e,t){return e===`indoorOutdoor`?BS(t):e===`floodlit`?VS(t):null}function US(e,t){let n=[];for(let r of t){let t=HS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=wS();for(let e of n)r.appendChild(e);return r}function WS(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=OS(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function GS(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=kS(),t.textContent=e.surfaceLabel,t}function KS(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=AS(),t.textContent=e.availabilitySummary,t}function qS(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=jS(),t.textContent=e.courtAbbreviation,t}function JS(e,t){return e===`title`?WS(t):e===`surface`?GS(t):e===`availability`?KS(t):e===`abbreviation`?qS(t):null}function YS(e,t){let n=document.createElement(`div`);n.className=DS();for(let r of t.body){let t=JS(r,e);t&&n.appendChild(t)}return n}function XS(e){let t=[];if(e.indoorOutdoor&&t.push(e.indoorOutdoor===`INDOOR`?`indoor`:`outdoor`),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),e.floodlit&&t.push(`floodlit`),!t.length)return null;let n=document.createElement(`div`);return n.className=NS(),n.textContent=t.join(` · `),n}function ZS(e,t){return e===`amenityRow`?XS(t):e===`availability`?KS(t):e===`surface`?GS(t):null}function QS(e,t){let n=document.createElement(`div`);n.className=MS();for(let r of t.footer){let t=ZS(r,e);t&&n.appendChild(t)}return n}function $S(e){let t=vS(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:PS(),imageClass:xS(),bodyClass:DS(),footerClass:MS(),blockClass:IS(),lineClass:FS()})}var eC=`INDOOR`,tC=`OUTDOOR`,nC=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function rC(e){if(!e)return;let t=String(e).toUpperCase();if(t===eC)return eC;if(t===tC)return tC}function iC(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&nC.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&nC.has(n)?n:t}function aC(e,t){let n=[];return e&&n.push(e.charAt(0)+e.slice(1).toLowerCase()),t&&n.push(t.charAt(0)+t.slice(1).toLowerCase()),n.length?n.join(` · `):void 0}function oC(e,t){let n=rC(e?.indoorOutdoor),r=iC(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:aC(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var sC={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function cC(e){return e?{grouping:e.grouping??sC.grouping,sport:e.sport??sC.sport,showGroupHeadings:e.showGroupHeadings??sC.showGroupHeadings,showSummary:e.showSummary??sC.showSummary,minCardWidth:e.minCardWidth??sC.minCardWidth,emptyMessage:e.emptyMessage??sC.emptyMessage}:sC}var lC=()=>`chc-cl`,uC=()=>`chc-cl-summary`,dC=()=>`chc-cl-summary-count`,fC=()=>`chc-cl-group`,pC=()=>`chc-cl-group-heading`,mC=()=>`chc-cl-group-count`,hC=()=>`chc-cl-grid`,gC=()=>`chc-cl-empty`,_C=`Unspecified`,vC=`Unspecified surface`;function yC(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function bC(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?yC(t):_C}function xC(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?yC(t):vC}function SC(e,t){let n=db(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?bC(e):t===`surface`?xC(e):`${bC(e)} · ${xC(e)}`,i=new Map;for(let e of n){let t=r(e),n=i.get(t);n?n.courts.push(e):i.set(t,{key:t,label:t,courts:[e]})}return[...i.values()]}function CC(e){let t=new Map;for(let n of e){let e=bC(n),r=xC(n),i=`${e===_C?``:e.toLowerCase()} ${r===vC?``:r.toLowerCase()}`.trim()||`court`;t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>`${t} ${e}`).join(`, `)}function wC(e,t,n){let r=cC(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=lC(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=gC(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(TC(i));for(let e of SC(i,r.grouping))a.appendChild(EC(e,r,n));return a}function TC(e){let t=document.createElement(`div`);t.className=uC();let n=document.createElement(`span`);n.className=dC(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=CC(e),t.append(n,r),t}function EC(e,t,n){let r=document.createElement(`div`);if(r.className=fC(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=pC();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=mC(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=hC(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(OC(r,t,n));return r.appendChild(i),r}function DC(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function OC(e,t,n){let r=oC(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return LS(r,DC(t.grouping),i)}var kC={tiles:{map:{tileLayer:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`&copy; <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors`,maxZoom:18},satellite:{tileLayer:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles &copy; Esri`}},darkTileLayer:{tileLayer:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`,maxZoom:20},view:`map`,showViewToggle:!0,zoom:16,height:`320px`,courtsLayout:`side`,showHeader:!0,showPopup:!0,scrollWheelZoom:!1,darkTiles:`auto`};function AC(e){return e?{tiles:e.tiles??kC.tiles,darkTileLayer:e.darkTileLayer===void 0?kC.darkTileLayer:e.darkTileLayer,view:e.view??kC.view,showViewToggle:e.showViewToggle??kC.showViewToggle,zoom:e.zoom??kC.zoom,height:e.height??kC.height,courtsLayout:e.courtsLayout??kC.courtsLayout,showHeader:e.showHeader??kC.showHeader,showPopup:e.showPopup??kC.showPopup,scrollWheelZoom:e.scrollWheelZoom??kC.scrollWheelZoom,darkTiles:e.darkTiles??kC.darkTiles}:kC}var jC=()=>`chc-vl`,MC=()=>`chc-vl-header`,NC=()=>`chc-vl-title`,PC=()=>`chc-vl-address`,FC=()=>`chc-vl-notes`,IC=()=>`chc-vl-body`,LC=()=>`chc-vl-body--below`,RC=()=>`chc-vl-mapwrap`,zC=()=>`chc-vl-map`,BC=()=>`chc-vl-map--invertible`,VC=()=>`chc-vl-toggle`,HC=()=>`chc-vl-toggle-btn`,UC=()=>`chc-vl-fallback`,WC=()=>`chc-vl-fallback-icon`,GC=()=>`chc-vl-courts`,KC=()=>`chc-vl-courts-title`,qC=()=>`chc-vl-court-list`,JC=()=>`chc-vl-court`,YC=()=>`chc-vl-court--clickable`,XC=()=>`chc-vl-court-name`,ZC=()=>`chc-vl-court-meta`,QC=()=>`chc-vl-pip`,$C=()=>`chc-vl-marker`,ew=()=>`chc-vl-popup-title`,tw=()=>`chc-vl-popup-address`,nw=`No coordinates for this venue`,rw=`Map unavailable`,iw=new WeakMap;function aw(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function ow(e){return db(e)}function sw(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function cw(e,t,n){let r=AC(t),i=document.createElement(`div`);i.className=jC(),i.dataset.venueId=e.venueId,r.showHeader&&i.appendChild(uw(e));let a=document.createElement(`div`);a.className=r.courtsLayout===`side`?IC():`${IC()} ${LC()}`;let{wrap:o,mapEl:s}=fw(e,r,n);a.appendChild(o);let c=e.courts??[];return r.courtsLayout!==`none`&&c.length&&a.appendChild(hw(c,e,n)),i.appendChild(a),s&&aw(e)&&_w({root:i,mapEl:s,data:e,cfg:r,callbacks:n}),i}function lw(e){let t=iw.get(e);t&&(t(),iw.delete(e))}function uw(e){let t=document.createElement(`div`);t.className=MC();let n=document.createElement(`div`);if(n.className=NC(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=PC(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=FC(),n.textContent=e.notes,t.appendChild(n)}return t}function dw(e){let t=document.createElement(`div`);t.className=UC();let n=document.createElement(`div`);n.className=WC(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function fw(e,t,n){let r=document.createElement(`div`);if(r.className=RC(),r.style.height=t.height,!aw(e))return r.appendChild(dw(nw)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=zC(),i.appendChild(dw(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(pw(a,t,n)),{wrap:r,mapEl:i}}function pw(e,t,n){let r=document.createElement(`div`);r.className=VC(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=HC(),e.dataset.view=a,e.textContent=a===`satellite`?`Satellite`:`Map`,e.setAttribute(`aria-pressed`,String(a===t.view)),e.addEventListener(`click`,()=>{for(let t of i)t.setAttribute(`aria-pressed`,String(t===e));n?.onViewChange?.(a)}),i.push(e),r.appendChild(e)}return r}function mw(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${JC()} ${YC()}`:JC(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=XC(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=ZC();let s=sw(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=QC(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function hw(e,t,n){let r=document.createElement(`div`);r.className=GC();let i=document.createElement(`div`);i.className=KC(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=qC();for(let r of ow(e))a.appendChild(mw(r,t,n));return r.appendChild(a),r}function gw(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`})[e]),n=e.addressFormatted?`<div class="${tw()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${ew()}">${t(e.venueName)}</div>${n}`}async function _w({root:e,mapEl:t,data:n,cfg:r,callbacks:i}){let a;try{a=await import(`leaflet`)}catch(e){t.replaceChildren(dw(rw)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}let o=a.default??a;try{t.replaceChildren();let a=o.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0});a.setView([n.latitude,n.longitude],r.zoom);let s=r.view,c=Cw(o,a,r,s);ww(t,r,s);let l=e=>{s=e,a.removeLayer(c),c=Cw(o,a,r,e),ww(t,r,e)},u=o.divIcon({className:``,html:`<div class="${$C()}"></div>`,iconSize:[14,14]}),d=o.marker([n.latitude,n.longitude],{icon:u}).addTo(a);r.showPopup&&d.bindPopup(gw(n)),d.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&l(t.dataset.view)}),bw(t);let f=new ResizeObserver(()=>a.invalidateSize());f.observe(t);let p,m=globalThis.document?.documentElement;if(m&&r.darkTiles!==`never`&&r.darkTileLayer){let e=xw();p=new MutationObserver(()=>{let t=xw();t!==e&&(e=t,s!==`satellite`&&l(s))}),p.observe(m,{attributes:!0,attributeFilter:[`data-theme`]})}iw.set(e,()=>{f.disconnect(),p?.disconnect(),a.remove()})}catch(e){t.replaceChildren(dw(rw)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var vw=!1;function yw(e){return e?e!==`relative`&&e!==`absolute`:!1}function bw(e){vw||yw(globalThis.getComputedStyle?.(e)?.position)&&(vw=!0,console.warn("[courthive-components] venue-locator: leaflet's stylesheet is missing — the map will render incorrectly. Add `import 'leaflet/dist/leaflet.css';` to the host application."))}function xw(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function Sw(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Cw(e,t,n,r){let i=Sw(n,r,xw());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function ww(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(BC(),r)}function Tw(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function Ew(e,t){let n=typeof e?.indoorOutdoor==`string`?e.indoorOutdoor.toUpperCase():void 0;return{courtId:e?.courtId??`court-${t+1}`,courtName:e?.courtName??`Court ${t+1}`,indoorOutdoor:n===`INDOOR`||n===`OUTDOOR`?n:void 0,surfaceCategory:e?.surfaceCategory,floodlit:e?.floodlit,courtOrder:Tw(e?.courtOrder),latitude:gb(e?.latitude),longitude:gb(e?.longitude)}}function Dw(e){let t=Array.isArray(e?.courts)?e.courts:[],n=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??e?.venueAbbreviation??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:eb(n),latitude:gb(e?.latitude,n?.latitude),longitude:gb(e?.longitude,n?.longitude),courts:t.map(Ew),notes:e?.notes}}var Ow=()=>`chc-team-card`,kw=()=>`chc-team-card--clickable`,Aw=()=>`chc-team-card__title-row`,jw=()=>`chc-team-card__name`,Mw=()=>`chc-team-card__nickname`,Nw=()=>`chc-team-card__counts`,Pw=` · `;function Fw(e,t){let n=document.createElement(`div`);n.className=Ow(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(kw()),n.tabIndex=0,n.setAttribute(`role`,`button`),n.addEventListener(`click`,n=>{n.stopPropagation(),t.onClick(e)}),n.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),n.stopPropagation(),t.onClick(e))})),n.appendChild(Iw(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(Lw(r)),n}function Iw(e){let t=document.createElement(`div`);t.className=Aw();let n=document.createElement(`span`);if(n.className=jw(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=Mw(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function Lw(e){let t=document.createElement(`div`);return t.className=Nw(),t.textContent=e.join(Pw),t}var Rw=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],zw=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function Bw(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function Vw(e){let t=Bw();if(!Array.isArray(e))return t;for(let n of e){let e=typeof n?.getData==`function`?n.getData():n;if(!e)continue;if(e.matchUpStatus&&zw.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&Rw.includes(r)&&(t[r]+=1)}return t}function Hw(e){return Rw.reduce((t,n)=>t+e[n],0)}var Uw={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function Ww(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of Rw){let i=document.createElement(`div`);i.className=`chc-cb__seg`,i.dataset.bucket=e,t&&(i.classList.add(`is-clickable`),i.setAttribute(`role`,`button`),i.addEventListener(`click`,()=>t(e))),r[e]=i,n.appendChild(i)}return{element:n,update:e=>{let t=Hw(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of Rw){let n=r[t],i=e[t];i===0?(n.style.flex=`0 0 0`,n.style.padding=`0`,n.textContent=``,n.removeAttribute(`title`)):(n.style.flex=`${i} 1 0`,n.style.padding=`0 4px`,n.textContent=String(i),n.title=`${Uw[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of Rw)r[t].classList.toggle(`is-active`,t===e)}}}var Gw={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},Kw=`http://www.w3.org/2000/svg`,qw=96,Jw=qw/2,Yw=47,Xw=31;function Zw(e,t){return{x:Jw+t*Math.cos(e),y:Jw+t*Math.sin(e)}}function Qw(e,t){let n=Zw(e,Yw),r=Zw(t,Yw),i=Zw(t,Xw),a=Zw(e,Xw),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${Yw} ${Yw} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${Xw} ${Xw} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function $w(){let e=Zw(-Math.PI/2,Yw),t=Zw(Math.PI/2,Yw),n=Zw(-Math.PI/2,Xw),r=Zw(Math.PI/2,Xw);return[`M ${e.x} ${e.y}`,`A ${Yw} ${Yw} 0 1 1 ${t.x} ${t.y}`,`A ${Yw} ${Yw} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${Xw} ${Xw} 0 1 0 ${r.x} ${r.y}`,`A ${Xw} ${Xw} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function eT(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(Kw,`svg`);t.setAttribute(`viewBox`,`0 0 ${qw} ${qw}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of Rw){let r=document.createElementNS(Kw,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(Kw,`title`);r.appendChild(i),n[e]=r}let r=document.createElement(`div`);return r.className=`chc-cd__total`,e.appendChild(t),e.appendChild(r),{element:e,update:i=>{let a=Hw(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=Rw.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of Rw){let t=i[e],r=n[e],c=r.querySelector(`title`);if(t===0){r.removeAttribute(`d`),c&&(c.textContent=``);continue}if(o.length===1)r.setAttribute(`d`,$w());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,Qw(s,n)),s=n}c&&(c.textContent=`${Gw[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function tT(e){let{segments:t,onSegmentClick:n}=e,r=document.createElement(`div`);r.className=`chc-sb`;let i={},a={};for(let{key:e,label:o,color:s}of t){i[e]=o;let t=document.createElement(`div`);t.className=`chc-sb__seg`,t.dataset.key=e,t.style.setProperty(`--seg-bg`,s),n&&(t.classList.add(`is-clickable`),t.setAttribute(`role`,`button`),t.addEventListener(`click`,()=>n(e))),a[e]=t,r.appendChild(t)}return{element:r,update:e=>{let n=t.reduce((t,n)=>t+(e[n.key]||0),0);if(r.style.display=n>0?`flex`:`none`,n)for(let{key:n}of t){let t=a[n],r=e[n]||0;r===0?(t.style.flex=`0 0 0`,t.style.padding=`0`,t.textContent=``,t.removeAttribute(`title`)):(t.style.flex=`${r} 1 0`,t.style.padding=`0 4px`,t.textContent=String(r),t.title=`${i[n]}: ${r}`)}},setActive:e=>{r.classList.toggle(`has-active`,!!e);for(let{key:n}of t)a[n].classList.toggle(`is-active`,n===e)}}}var nT={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function rT(e){return e?{cornerBadges:e.cornerBadges??nT.cornerBadges,body:e.body??nT.body,footer:e.footer??nT.footer,showVisualization:e.showVisualization??nT.showVisualization}:nT}var iT=()=>`chc-dc-card`,aT=()=>`chc-dc-card--clickable`,oT=()=>`chc-dc-corner-badges`,sT=()=>`chc-dc-status-pill`,cT=()=>`chc-dc-secondary-badge`,lT=()=>`chc-dc-body`,uT=()=>`chc-dc-viz`,dT=()=>`chc-dc-title-row`,fT=()=>`chc-dc-title`,pT=()=>`chc-dc-draw-type`,mT=()=>`chc-dc-meta`,hT=()=>`chc-dc-footer`,gT=()=>`chc-dc-chip`,_T=()=>`chc-dc-progress`,vT=()=>`chc-dc-progress-bar`,yT=()=>`chc-dc-progress-fill`,bT=()=>`chc-dc-card chc-dc-skeleton`,xT=()=>`chc-dc-skeleton-line`;function ST(e,t,n){let r=rT(t),i=document.createElement(`div`);if(i.className=iT(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(aT()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showVisualization&&e.visualization){let t=document.createElement(`div`);t.className=uT(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(zT(e,r)),r.footer.length&&i.appendChild(BT(e,r)),i}function CT(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=sT(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function wT(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=cT(),t.dataset.kind=`published`,t.textContent=`Published`,t}function TT(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=cT(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function ET(e,t){return e===`status`?CT(t):e===`publishedBadge`?wT(t):e===`embargoBadge`?TT(t):null}function DT(e,t){let n=[];for(let r of t){let t=ET(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=oT();for(let e of n)r.appendChild(e);return r}function OT(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=fT(),t.textContent=e.drawName,t.title=e.drawName,t}function kT(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=pT(),t.textContent=e.drawTypeLabel,t}function AT(e){let t=document.createElement(`span`);return t.className=gT(),t.textContent=e,t}function jT(e){return typeof e.drawSize==`number`?AT(`Size ${e.drawSize}`):null}function MT(e){return typeof e.entryCount==`number`?AT(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function NT(e){return e.matchUpFormat?AT(e.matchUpFormat):null}function PT(e){return typeof e.flightNumber==`number`?AT(`Flight ${e.flightNumber}`):null}function FT(e){let t=[];if(typeof e.utrAvg==`number`&&t.push(`UTR ${e.utrAvg.toFixed(2)}`),typeof e.wtnAvg==`number`&&t.push(`WTN ${e.wtnAvg.toFixed(2)}`),!t.length)return null;let n=document.createElement(`div`);return n.className=mT(),n.textContent=t.join(` · `),n}function IT(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=_T();let a=document.createElement(`div`);a.className=mT(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=vT();let s=document.createElement(`div`);return s.className=yT(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function LT(e,t){return e===`title`?OT(t):e===`drawTypeLabel`?kT(t):e===`drawSize`?jT(t):e===`entries`?MT(t):e===`matchUpFormat`?NT(t):e===`flightNumber`?PT(t):e===`ratings`?FT(t):e===`matchUpProgress`?IT(t):null}function RT(e,t){let n=document.createElement(`div`);n.className=dT();let r=OT(e);r&&n.appendChild(r);let i=DT(e,t);return i&&n.appendChild(i),n}function zT(e,t){let n=document.createElement(`div`);n.className=lT();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=DT(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(RT(e,t.cornerBadges));continue}let a=LT(r,e);a&&n.appendChild(a)}return n}function BT(e,t){let n=document.createElement(`div`);n.className=hT();for(let r of t.footer){let t=LT(r,e);t&&n.appendChild(t)}return n}function VT(){let e=document.createElement(`div`);e.className=bT();let t=document.createElement(`div`);t.className=lT();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=xT(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var HT={SINGLE_ELIMINATION:`Single Elimination`,DOUBLE_ELIMINATION:`Double Elimination`,ELIMINATION:`Elimination`,ROUND_ROBIN:`Round Robin`,ROUND_ROBIN_WITH_PLAYOFF:`Round Robin + Playoff`,COMPASS:`Compass`,FEED_IN_CHAMPIONSHIP:`Feed-In Championship`,FIRST_MATCH_LOSER_CONSOLATION:`First Match Loser Consolation`,FIRST_ROUND_LOSER_CONSOLATION:`First Round Loser Consolation`,PLAY_OFF:`Play-Off`,CURTIS_CONSOLATION:`Curtis Consolation`,AD_HOC:`Ad-Hoc`,OLYMPIC:`Olympic`,LUCKY_DRAW:`Lucky Draw`,STAGGERED_ENTRY:`Staggered Entry`};function UT(e){if(e)return HT[e]?HT[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function WT(e){let{matchUps:n=[]}=t.tournamentEngine.getAllDrawMatchUps({drawDefinition:e}),r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function GT(e){let t=e?.drawSize;if(typeof t==`number`)return t;let n=(e?.structures?.find(e=>e?.stage===`MAIN`))?.positionAssignments?.length;return typeof n==`number`?n:void 0}function KT(e){if(e.cancelled)return{kind:`cancelled`,label:`Cancelled`};if(!e.generated)return{kind:`ungenerated`,label:`Not generated`};let t=e.matchUpCounts;return!t||t.total===0?{kind:`ready`,label:`Ready`}:t.completed===t.total?{kind:`completed`,label:`Completed`}:t.inProgress>0||t.completed>0?{kind:`in-progress`,label:`In progress`}:{kind:`ready`,label:`Ready`}}function qT(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:WT(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?KT({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:UT(e?.drawType),drawSize:GT(e),entryCount:t?.entryCount,matchUpFormat:e?.matchUpFormat,flightNumber:e?.flightNumber,matchUpCounts:r,generated:n,published:t?.published,embargoActive:t?.embargoActive,utrAvg:t?.utrAvg,wtnAvg:t?.wtnAvg,status:a,eventId:t?.eventId}}var JT={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},YT=15;function XT(e){return e?{showImage:e.showImage??JT.showImage,cornerBadges:e.cornerBadges??JT.cornerBadges,body:e.body??JT.body,footer:e.footer??JT.footer}:JT}var ZT=()=>`chc-ec-card`,QT=()=>`chc-ec-card--clickable`,$T=()=>`chc-ec-image`,eE=()=>`chc-ec-image-img`,tE=()=>`chc-ec-image-svg`,nE=()=>`chc-ec-image-placeholder`,rE=()=>`chc-ec-corner-badges`,iE=()=>`chc-ec-status-pill`,aE=()=>`chc-ec-eventtype-badge`,oE=()=>`chc-ec-gender-badge`,sE=()=>`chc-ec-body`,cE=()=>`chc-ec-title`,lE=()=>`chc-ec-category`,uE=()=>`chc-ec-draw-summary`,dE=()=>`chc-ec-date-range`,fE=()=>`chc-ec-footer`,pE=()=>`chc-ec-player-count`,mE=()=>`chc-ec-progress`,hE=()=>`chc-ec-progress-meta`,gE=()=>`chc-ec-progress-bar`,_E=()=>`chc-ec-progress-fill`,vE=()=>`chc-ec-updated-at`,yE=()=>`chc-ec-card chc-ec-skeleton`,bE=()=>`chc-ec-skeleton-line`,xE=()=>`chc-ec-skeleton-block`;function SE(e,t,n){let r=XT(t),i=document.createElement(`div`);return i.className=ZT(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(QT()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(wE(e,r)),r.body.length&&i.appendChild(RE(e,r)),r.footer.length&&i.appendChild(zE(e,r)),i}function CE(e,t){let n=Qy(t.courtSvgSport,tE());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=nE(),e.appendChild(r)}function wE(e,t){let n=document.createElement(`div`);if(n.className=$T(),e.eventImageURL){let t=document.createElement(`img`);t.className=eE(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),CE(n,e)}),n.appendChild(t)}else CE(n,e);if(t.cornerBadges.length){let r=kE(e,t.cornerBadges);r&&n.appendChild(r)}return n}function TE(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=iE(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function EE(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=aE(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function DE(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=oE(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function OE(e,t){return e===`status`?TE(t):e===`eventTypeBadge`?EE(t):e===`genderBadge`?DE(t):null}function kE(e,t){let n=[];for(let r of t){let t=OE(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=rE();for(let e of n)r.appendChild(e);return r}function AE(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=cE(),t.textContent=e.eventName,t.title=e.eventName,t}function jE(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=lE(),t.textContent=e.categoryLabel,t}function ME(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=uE(),t.textContent=e.drawSummary,t}function NE(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=dE(),t.textContent=e.dateRangeFormatted,t}function PE(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=vE();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function FE(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=pE(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function IE(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=mE();let a=document.createElement(`div`);a.className=hE(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=gE();let s=document.createElement(`div`);return s.className=_E(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function LE(e,t){return e===`title`?AE(t):e===`categoryLabel`?jE(t):e===`drawSummary`?ME(t):e===`dateRange`?NE(t):e===`updatedAt`?PE(t):e===`playerCount`?FE(t):e===`matchUpProgress`?IE(t):null}function RE(e,t){let n=document.createElement(`div`);n.className=sE();for(let r of t.body){let t=LE(r,e);t&&n.appendChild(t)}return n}function zE(e,t){let n=document.createElement(`div`);n.className=fE();for(let r of t.footer){let t=LE(r,e);t&&n.appendChild(t)}return n}function BE(e){let t=XT(e);return _b({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:yE(),imageClass:$T(),bodyClass:sE(),footerClass:fE(),blockClass:xE(),lineClass:bE()})}function VE(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function HE(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function UE(e,t=new Date){if(e.allDrawsCancelled)return{kind:`cancelled`,label:`Cancelled`};let n=e.matchUpCounts;if(n&&n.total>0&&n.completed===n.total)return{kind:`completed`,label:`Completed`};let r=VE(e.startDate),i=VE(e.endDate);if(n&&(n.inProgress>0||HE(t,r,i)&&n.total>0))return{kind:`live`,label:`Live`};let a=e.drawCount??0;return a>0&&(e.hasDraftState||e.hasSeedsOnlyDraw)?{kind:`drawing`,label:`Drawing`}:a===0&&(e.entryCount??0)>0?{kind:`entries-open`,label:`Entries Open`}:r&&t.getTime()<r.getTime()?{kind:`upcoming`,label:`Upcoming`}:null}var WE=`eventImage`,GE=`DRAFT_STATE`;function KE(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function qE(e){if(!e)return;let t=String(e).toUpperCase();if(t===`M`||t===`MALE`)return`MALE`;if(t===`F`||t===`FEMALE`)return`FEMALE`;if(t===`MIXED`||t===`X`)return`MIXED`}function JE(e){if(!e)return;let t=YE(e.categoryName);if(t)return t;if(typeof e.ageMin==`number`&&typeof e.ageMax==`number`)return e.ageMin===e.ageMax?`Age ${e.ageMin}`:`Age ${e.ageMin}–${e.ageMax}`;let n=YE(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function YE(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function XE(e){if(!e.length)return;let t=e.find(Boolean);if(!t)return;let n=[];return typeof t.drawSize==`number`&&n.push(String(t.drawSize)),t.drawType&&n.push(String(t.drawType)),e.length>1&&n.push(`+${e.length-1}`),n.length?n.join(` `):void 0}function ZE(e){let{matchUps:n=[]}=t.tournamentEngine.allEventMatchUps({event:e,inContext:!1})??{},r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function QE(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===GE):!1}function $E(e){return e.some(e=>e?.automated?.seedsOnly===!0||QE(e))}function eD(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var tD=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function nD(e){if(!e.length)return 0;let t=0;for(let n of e)tD.has(String(n?.entryStatus))&&(t+=1);return t}function rD(e,t){let n=Array.isArray(e?.drawDefinitions)?e.drawDefinitions:[],r=Array.isArray(e?.entries)?e.entries:[],i=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,a=t?.matchUpStats??(t?.lightMode?void 0:ZE(e)),o=t?.statusOverride===void 0?UE({allDrawsCancelled:eD(n),drawCount:n.length,entryCount:nD(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(QE),hasSeedsOnlyDraw:$E(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:JE(e?.category),eventType:KE(e?.eventType),gender:qE(e?.gender),drawCount:n.length||void 0,drawSummary:XE(n),entryCount:nD(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:ub(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??pb(i,WE),courtSvgSport:e?.courtSvgSport??mb(i)??t?.sport,updatedAt:e?.updatedAt}}var iD=()=>`chc-hil-container`,aD=()=>`chc-hil-form`,oD=()=>`chc-hil-header`,sD=()=>`chc-hil-title`,cD=()=>`chc-hil-tabs`,lD=()=>`chc-hil-tab`,uD=()=>`chc-hil-tab--active`,dD=()=>`chc-hil-field`,fD=()=>`chc-hil-label`,pD=()=>`chc-hil-input`,mD=()=>`chc-hil-row`,hD=()=>`chc-hil-submit`,gD=()=>`chc-hil-message`,_D=()=>`chc-hil-message--error`,vD=()=>`chc-hil-message--success`,yD=()=>`chc-hil-switch-mode`;function bD(e){return e.replace(/\/+$/,``)}async function xD(e,t,n,r=fetch){let i=bD(e)+t,a;try{a=await r(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}catch(e){throw{kind:`network`,cause:e}}let o=null;try{o=await a.json()}catch(e){if(a.ok)throw{kind:`parse`,cause:e}}if(!a.ok)throw{kind:`http`,status:a.status,body:o};return o}function SD(e,t,n){return xD(e,`/auth/hiveid/signup`,t,n)}function CD(e,t,n){return xD(e,`/auth/hiveid/verify-existing`,t,n)}function wD(e,t,n){return xD(e,`/auth/hiveid/magic-link`,t,n)}function TD(e,t,n){return xD(e,`/auth/hiveid/magic-link/consume`,t,n)}function ED(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind!==`http`||t.status!==409?!1:t.body?.code===`EXISTING_USER`}var DD=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],OD=`signup`,kD=`login`,AD=`magic-link`,jD=[OD,kD,AD],MD=`hiveid:authenticated`,ND={[OD]:`Sign up`,[kD]:`Log in`,[AD]:`Email link`},PD={[OD]:`Create your CourtHive identity`,[kD]:`Log in to CourtHive`,[AD]:`Email me a sign-in link`};function FD(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=iD(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=oD();let a=document.createElement(`h2`);a.className=sD(),i.appendChild(a);let o=document.createElement(`div`);o.className=cD(),i.appendChild(o);let s={};jD.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=lD(),t.textContent=ND[e],t.dataset.mode=e,t.onclick=()=>w(e),o.appendChild(t),s[e]=t}),r.appendChild(i);let c=document.createElement(`form`);c.className=aD(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=gD(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=gD(),t===`error`&&l.classList.add(_D()),t===`success`&&l.classList.add(vD()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=dD();let a=document.createElement(`label`);a.className=fD(),a.textContent=t,a.htmlFor=`chc-hil-${e}`;let o=document.createElement(`input`);return o.id=`chc-hil-${e}`,o.name=e,o.type=n,o.value=r,o.className=pD(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=mD(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=hD(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=yD();let i=document.createElement(`button`);i.type=`button`,i.textContent=n,i.onclick=()=>w(t),r.append(e+` `,i),c.appendChild(r)}function g(e){if(e.note){let t=document.createElement(`p`);t.className=fD(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=dD();let r=document.createElement(`label`);r.className=fD(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=pD(),e.providers.forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,i.appendChild(t)}),n.append(r,i),c.appendChild(n),t=i}let n=document.createElement(`div`);n.className=dD();let r=document.createElement(`label`);r.className=fD(),r.textContent=e.idLabel??`Player ID`,r.htmlFor=`chc-hil-federationId`;let i=document.createElement(`input`);i.id=`chc-hil-federationId`,i.type=`text`,i.className=pD(),n.append(r,i),c.appendChild(n);let a=e.providers[0]?.value??``;return()=>{let e=i.value.trim();if(!e)return null;let n=t?t.value:a;return n?{provider:n,externalId:e}:null}}function _(e){if(e.note){let t=document.createElement(`p`);t.className=fD(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=dD();let r=document.createElement(`label`);r.className=fD(),r.textContent=e.dobLabel??`Date of birth`,r.htmlFor=`chc-hil-birthDate`;let i=document.createElement(`input`);i.id=`chc-hil-birthDate`,i.type=`date`,i.required=t,i.className=pD(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=dD();let o=document.createElement(`label`);o.className=fD(),o.textContent=e.sexLabel??`Sex`,o.htmlFor=`chc-hil-sex`;let s=document.createElement(`select`);s.id=`chc-hil-sex`,s.required=t,s.className=pD();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??DD).forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,s.appendChild(t)}),a.append(o,s),c.appendChild(a),()=>RD({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent(MD,{detail:e,bubbles:!0}))}function y(e,t){return async r=>{if(r.preventDefault(),!n){n=!0,e.disabled=!0,d();try{await t()}finally{n=!1,e.disabled=!1}}}}async function b(t,n,r,i={}){let a=t.value.trim(),o=n.value.trim(),s=r.value.trim();if(!a||!o||!s){u(`Email, first name, and last name are required.`,`error`);return}let{federationIds:c,birthDate:l,sex:d,provider:f,requirePii:p}=i;if(p&&(!l||!d)){u(`Date of birth and sex are required.`,`error`);return}try{let t=await SD(e.cfsBaseUrl,{email:a,firstName:o,lastName:s,federationIds:c,birthDate:l,sex:d,provider:f},e.fetchImpl);if(t.status===`candidate`){u(`We found possible matches — please log in with your existing account.`,`info`),w(`login`);return}v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached}),u(`Welcome to CourtHive.`,`success`)}catch(e){if(ED(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(BD(e)??`Sign-up failed. Please try again.`,`error`)}}async function x(t,n){let r=t.value.trim(),i=n.value;if(!r||!i){u(`Email and password are required.`,`error`);return}try{let t=await CD(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??zD()}),u(`Signed in.`,`success`)}catch(e){u(BD(e)??`Sign-in failed. Please check your password.`,`error`)}}async function S(t){let n=t.value.trim();if(!n){u(`Email is required.`,`error`);return}try{await wD(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(BD(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=PD[t],jD.forEach(e=>{s[e].classList.toggle(uD(),e===t)}),t===`signup`){let t=p(),n=document.createElement(`input`);n.id=`chc-hil-firstName`,n.type=`text`,n.placeholder=`First name`,n.required=!0,n.className=pD();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=pD();let i=document.createElement(`div`);i.className=dD();let a=document.createElement(`label`);a.textContent=`First name`,a.className=fD(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=dD();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=fD(),s.htmlFor=r.id,o.append(s,r),t.append(i,o);let l=f(`email`,`Email`,`email`,e.defaultEmail??``),u=e.federationIdCapture?g(e.federationIdCapture):()=>null,d=e.dobSexCapture?_(e.dobSexCapture):()=>({}),v=!!e.dobSexCapture&&e.dobSexCapture.required!==!1,x=m(`Create account`);c.onsubmit=y(x,()=>b(l,n,r,{federationIds:LD(u(),e.federationIds),...d(),provider:e.provider,requirePii:v})),h(`Already have an account?`,`login`,`Log in`)}else if(t===`login`){let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=f(`password`,`Password`,`password`),r=m(`Log in`);c.onsubmit=y(r,()=>x(t,n)),h(`Forgot your password?`,`magic-link`,`Email me a link`)}else{let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=m(`Send link`);c.onsubmit=y(n,()=>S(t)),h(`Have a password?`,`login`,`Log in instead`)}}function w(e){e!==t&&(t=e,d(),C())}function T(){return t}function E(e){let t=t=>e(t.detail);return r.addEventListener(MD,t),()=>r.removeEventListener(MD,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function ID(e,t,n){let r=await TD(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??zD()}}function LD(e,t){let n=[],r=new Set,i=e=>{if(!e?.provider||!e?.externalId)return;let t=`${e.provider}::${e.externalId}`;r.has(t)||(r.add(t),n.push({provider:e.provider,externalId:e.externalId}))};return(t??[]).forEach(i),i(e),n.length?n:void 0}function RD(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function zD(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function BD(e){if(!e||typeof e!=`object`)return null;if(e.kind===`http`){let t=e.body;if(t?.message&&typeof t.message==`string`)return t.message;if(typeof t?.status==`string`&&t.status===`incomplete`)return`We need a bit more information to identify you.`}return e.kind===`network`?`Could not reach CourtHive. Check your connection.`:null}var VD={name:`courthive-components`,packageManager:`pnpm@12.10.1`,version:`6.6.1`,engines:{node:`>=22`},description:`Components for competitions projects`,files:[`dist`],main:`./dist/courthive-components.umd.js`,module:`./dist/courthive-components.es.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/courthive-components.es.js`,require:`./dist/courthive-components.umd.js`},"./dist/*":`./dist/*`},repository:{type:`git`,url:`git+https://github.com/CourtHive/courthive-components.git`},keywords:[`tournament`,`match`,`score`,`vanillajs`,`bracket`],author:`Charles Allen`,license:`MIT`,bugs:{url:`https://github.com/CourtHive/courthive-components/issues`},homepage:`https://courthive.github.io/courthive-component`,scripts:{commits:`git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges --pretty=format:'%s: %h' | sed '/courthive-components/d'`,release:`npm run release:patch`,test:`vitest run --project unit`,"test:stories":`vitest run --project storybook`,"test:watch":`vitest --project unit`,"test:ui":`vitest --ui --project unit`,dev:`vite`,build:`tsc && vite build`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src --cache --max-warnings 0`,"lint:fix":`eslint src --fix --cache`,"lint:report":`eslint src & eslint --cache src -f json > eslint-report.json`,format:`prettier --write src`,"release:major":`npm run commits && npm version $(semver $npm_package_version -i major) && git push && git push --tags`,"release:minor":`npm run commits && npm version $(semver $npm_package_version -i minor) && git push && git push --tags`,"release:patch":`npm run commits && npm version $(semver $npm_package_version -i patch) && git push && git push --tags`,"release:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && git push && git push --tags`,"patch:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && npm publish --tag beta`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.3`,"@commitlint/config-conventional":`21.2.3`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/addon-vitest":`^10.6.1`,"@storybook/html-vite":`^10.2.17`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.71.1`,"@typescript-eslint/parser":`8.71.1`,"@vitest/browser":`^5.0.3`,"@vitest/browser-playwright":`^5.0.3`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.12.0`,"eslint-plugin-sonarjs":`4.2.2`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^20.8.3`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.6.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.6.1`,"tods-competition-factory":`7.12.0`,typescript:`^6.0.2`,vite:`8.3.4`,"vite-plugin-dts":`^5.0.0`,vitest:`^5.0.0`},dependencies:{"@tiptap/core":`^3.22.2`,"@tiptap/extension-color":`^3.22.2`,"@tiptap/extension-highlight":`^3.22.2`,"@tiptap/extension-text-align":`^3.22.2`,"@tiptap/extension-text-style":`^3.22.2`,"@tiptap/extension-youtube":`^3.22.2`,"@tiptap/starter-kit":`^3.22.2`,awesomplete:`1.1.7`,"class-variance-authority":`0.7.1`,classnames:`2.5.1`,d3:`^7.9.0`,dayjs:`1.11.23`,"focus-trap":`^8.0.0`,"timepicker-ui":`^4.1.2`,"tippy.js":`6.3.7`,"vanillajs-datepicker":`1.3.4`},peerDependencies:{"tods-competition-factory":`^7.6.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function HD(){return VD.version}var UD={SET3_S6_TB7:`SET3-S:6/TB7`,SET3_S6_TB7_F_TB10:`SET3-S:6/TB7-F:TB10`,SET3_S6_TB10:`SET3-S:6/TB10`,SET3_S6_F_TB10:`SET3-S:6-F:TB10`,SET3_S6_TB7_NOAD:`SET3-S:6/TB7NOAD`,SET3_S8_TB7:`SET3-S:8/TB7`,SET3_S8_TB7_AT7:`SET3-S:8/TB7@7`,SET3_S4_TB7:`SET3-S:4/TB7`,SET3_S4_TB7_F_TB10:`SET3-S:4/TB7-F:TB10`,SET3_S4_TB5_AT3_F_TB10:`SET3-S:4/TB5@3-F:TB10`,SET5_S6_TB7:`SET5-S:6/TB7`,SET5_S6_TB7_F_TB10:`SET5-S:6/TB7-F:TB10`,SET1_S6_TB7:`SET1-S:6/TB7`,SET1_S6_TB10:`SET1-S:6/TB10`,SET1_S6_TB7_AT5:`SET1-S:6/TB7@5`,SET1_S8_TB7:`SET1-S:8/TB7`,SET1_S4_TB7:`SET1-S:4/TB7`,SET1_S5_TB9_AT4:`SET1-S:5/TB9@4`,SET1_S_TB7:`SET1-S:T7`,SET1_S_TB10:`SET1-S:TB10`,SET1_S_TB21:`SET1-S:T21`,SET1_S8:`SET1-S:8`,SET1_S10:`SET1-S:10`,FAST4:`SET5-S:4/NOAD`,SET3X_T10A_TB1:`SET3XA-S:T10-F:TB1`,SET3X_T10A_TB1_NOAD:`SET3XA-S:T10-F:TB1NOAD`,SET4X_T10A_TB1:`SET4XA-S:T10-F:TB1`};function WD(e,t,n){if(!e)return{elements:{}};let r={};for(let i of t||[]){if(!i?.label||i.hide)continue;let t=document.createElement(`button`);i.id&&(r[i.id]=t,t.id=i.id),t.style.marginRight=`.5em`,t.className=`button font-medium`,i.intent&&t.classList.add(i.intent),t.innerHTML=i.label,i.disabled&&(t.disabled=!0),t.onclick=e=>{e.stopPropagation(),!e.target.disabled&&G(i.onClick)&&i.onClick(),n&&G(n)&&n()},e.appendChild(t)}return{elements:r}}var GD=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function KD(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var qD=(e,t)=>n=>KD(n)&&Number(n)>=e&&Number(n)<=t,JD=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function YD(e){return t.tools.dateTime.dateValidation.test(e)}var XD=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},ZD=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,QD=e=>ZD.exec(e),$D=_({dateValidator:()=>YD,emailValidator:()=>QD,nameValidator:()=>GD,numericRange:()=>qD,numericValidator:()=>KD,passwordValidator:()=>JD,wordValidator:()=>XD}),eO=class{constructor({tournamentRecord:e,drawId:n,structureId:r,eventId:i}){this.tournamentRecord=e,this.drawId=n,this.structureId=r,this.eventId=i||e.events?.[0]?.eventId,t.tournamentEngine.setState(e)}setRenderCallback(e){this.renderCallback=e}getDrawEntryParticipantIds(){let{event:e,drawDefinition:n}=t.tournamentEngine.getEvent({drawId:this.drawId})||{};if(!e)return[];let{flightProfile:r}=t.tournamentEngine.getFlightProfile({eventId:this.eventId})||{};return(r?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries||n?.entries||[]).map(e=>e.participantId).filter(Boolean)}getAllParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getDrawEntryParticipantIds();if(!e.length)return[];let{participants:n=[]}=t.tournamentEngine.getParticipants({participantFilters:{participantIds:e}})||{};return n.map(e=>({participantId:e.participantId,participantName:e.participantName,participantType:e.participantType,person:e.person,individualParticipants:e.individualParticipants}))}getAvailableParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getAllParticipants(),{assignedParticipantIds:n=[]}=t.tournamentEngine.getAssignedParticipantIds({drawId:this.drawId})||{};return e.filter(e=>!n.includes(e.participantId))}removeAssignment({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=this.getMatchUps().find(t=>t.sides?.some(t=>t.drawPosition===e))?.sides?.find(t=>t.drawPosition===e)?.bye===!0,r=t.tournamentEngine.removeDrawPositionAssignment({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,n&&this.renderCallback&&this.renderCallback(),{success:!0}}assignParticipant({drawPosition:e,participantId:n}){t.tournamentEngine.setState(this.tournamentRecord);let r=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,participantId:n});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}assignBye({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPositionBye({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}assignQualifier({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,qualifier:!0});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getMatchUps(){t.tournamentEngine.setState(this.tournamentRecord);let{eventData:e}=t.tournamentEngine.getEventData({eventId:this.eventId})||{},n=(e?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId)?.roundMatchUps;return n?Object.values(n).flat():[]}getState(){return this.tournamentRecord}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},tO=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="14" height="14" fill="currentColor"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>`,nO=new WeakMap;function rO(e,t){let n=document.createElement(`div`);n.style.cssText=`position: relative; flex: 1; display: flex; min-width: 0;`,e.style.paddingRight=`28px`,n.appendChild(e);let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,`Clear search`),r.style.cssText=[`position: absolute`,`right: 8px`,`top: 50%`,`transform: translateY(-50%)`,`background: transparent`,`border: 0`,`padding: 2px`,`cursor: pointer`,`display: none`,`align-items: center`,`justify-content: center`,`line-height: 0`,`opacity: 0.55`,`color: currentColor`].join(`; `),r.innerHTML=tO,r.addEventListener(`mouseenter`,()=>r.style.opacity=`0.9`),r.addEventListener(`mouseleave`,()=>r.style.opacity=`0.55`),r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t(),i()});let i=()=>{r.style.display=e.value?`inline-flex`:`none`};return e.addEventListener(`keyup`,n=>{n.key===`Escape`&&e.value&&(t(),i())}),e.addEventListener(`input`,i),nO.set(n,i),n.appendChild(r),n}function iO(e){nO.get(e)?.()}function aO(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function oO(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function sO(e){let t,n,r;e.length===2?(t=e===aO||e===oO?e:cO,n=e,r=e):(t=aO,n=(t,n)=>aO(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function cO(){return 0}function lO(e){return e===null?NaN:+e}var uO=sO(aO),dO=uO.right;uO.left,sO(lO).center;function fO(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var pO=class extends Map{constructor(e,t=_O){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(mO(this,e))}has(e){return super.has(mO(this,e))}set(e,t){return super.set(hO(this,e),t)}delete(e){return super.delete(gO(this,e))}};function mO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function hO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function gO({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function _O(e){return typeof e==`object`&&e?e.valueOf():e}var vO=Math.sqrt(50),yO=Math.sqrt(10),bO=Math.sqrt(2);function xO(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=vO?10:a>=yO?5:a>=bO?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?xO(e,t,n*2):[s,c,l]}function SO(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?xO(t,e,n):xO(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function CO(e,t,n){return t=+t,e=+e,n=+n,xO(e,t,n)[2]}function wO(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?CO(t,e,n):CO(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function TO(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function EO(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function DO(e){return e}var OO=1,kO=2,AO=3,jO=4,MO=1e-6;function NO(e){return`translate(`+e+`,0)`}function PO(e){return`translate(0,`+e+`)`}function FO(e){return t=>+e(t)}function IO(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function LO(){return!this.__axis}function RO(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===OO||e===jO?-1:1,u=e===jO||e===kO?`x`:`y`,d=e===OO||e===AO?NO:PO;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):DO),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?IO:FO)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===OO?`0em`:e===AO?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,MO).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,MO).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===jO||e===kO?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(LO).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===kO?`start`:e===jO?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function zO(e){return RO(AO,e)}function BO(e){return RO(jO,e)}var VO={value:()=>{}};function HO(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new UO(n)}function UO(e){this._=e}function WO(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}UO.prototype=HO.prototype={constructor:UO,on:function(e,t){var n=this._,r=WO(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=GO(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=KO(n[i],e.name,t);else if(t==null)for(i in n)n[i]=KO(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new UO(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function GO(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function KO(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=VO,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var qO={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function JO(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),qO.hasOwnProperty(t)?{space:qO[t],local:e}:e}function YO(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function XO(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZO(e){var t=JO(e);return(t.local?XO:YO)(t)}function QO(){}function $O(e){return e==null?QO:function(){return this.querySelector(e)}}function ek(e){typeof e!=`function`&&(e=$O(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new HA(r,this._parents)}function tk(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function nk(){return[]}function rk(e){return e==null?nk:function(){return this.querySelectorAll(e)}}function ik(e){return function(){return tk(e.apply(this,arguments))}}function ak(e){e=typeof e==`function`?ik(e):rk(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new HA(r,i)}function ok(e){return function(){return this.matches(e)}}function sk(e){return function(t){return t.matches(e)}}var ck=Array.prototype.find;function lk(e){return function(){return ck.call(this.children,e)}}function uk(){return this.firstElementChild}function dk(e){return this.select(e==null?uk:lk(typeof e==`function`?e:sk(e)))}var fk=Array.prototype.filter;function pk(){return Array.from(this.children)}function mk(e){return function(){return fk.call(this.children,e)}}function hk(e){return this.selectAll(e==null?pk:mk(typeof e==`function`?e:sk(e)))}function gk(e){typeof e!=`function`&&(e=ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new HA(r,this._parents)}function _k(e){return Array(e.length)}function vk(){return new HA(this._enter||this._groups.map(_k),this._parents)}function yk(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}yk.prototype={constructor:yk,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function bk(e){return function(){return e}}function xk(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new yk(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Sk(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new yk(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Ck(e){return e.__data__}function wk(e,t){if(!arguments.length)return Array.from(this,Ck);var n=t?Sk:xk,r=this._parents,i=this._groups;typeof e!=`function`&&(e=bk(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=Tk(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new HA(o,r),o._enter=s,o._exit=c,o}function Tk(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Ek(){return new HA(this._exit||this._groups.map(_k),this._parents)}function Dk(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Ok(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new HA(s,this._parents)}function kk(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Ak(e){e||=jk;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new HA(i,this._parents).order()}function jk(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Mk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Nk(){return Array.from(this)}function Pk(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function Fk(){let e=0;for(let t of this)++e;return e}function Ik(){return!this.node()}function Lk(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Rk(e){return function(){this.removeAttribute(e)}}function zk(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Bk(e,t){return function(){this.setAttribute(e,t)}}function Vk(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Hk(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Uk(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Wk(e,t){var n=JO(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?zk:Rk:typeof t==`function`?n.local?Uk:Hk:n.local?Vk:Bk)(n,t))}function Gk(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Kk(e){return function(){this.style.removeProperty(e)}}function qk(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Jk(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Yk(e,t,n){return arguments.length>1?this.each((t==null?Kk:typeof t==`function`?Jk:qk)(e,t,n??``)):Xk(this.node(),e)}function Xk(e,t){return e.style.getPropertyValue(t)||Gk(e).getComputedStyle(e,null).getPropertyValue(t)}function Zk(e){return function(){delete this[e]}}function Qk(e,t){return function(){this[e]=t}}function $k(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function eA(e,t){return arguments.length>1?this.each((t==null?Zk:typeof t==`function`?$k:Qk)(e,t)):this.node()[e]}function tA(e){return e.trim().split(/^|\s+/)}function nA(e){return e.classList||new rA(e)}function rA(e){this._node=e,this._names=tA(e.getAttribute(`class`)||``)}rA.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function iA(e,t){for(var n=nA(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function aA(e,t){for(var n=nA(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function oA(e){return function(){iA(this,e)}}function sA(e){return function(){aA(this,e)}}function cA(e,t){return function(){(t.apply(this,arguments)?iA:aA)(this,e)}}function lA(e,t){var n=tA(e+``);if(arguments.length<2){for(var r=nA(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?cA:t?oA:sA)(n,t))}function uA(){this.textContent=``}function dA(e){return function(){this.textContent=e}}function fA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function pA(e){return arguments.length?this.each(e==null?uA:(typeof e==`function`?fA:dA)(e)):this.node().textContent}function mA(){this.innerHTML=``}function hA(e){return function(){this.innerHTML=e}}function gA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function _A(e){return arguments.length?this.each(e==null?mA:(typeof e==`function`?gA:hA)(e)):this.node().innerHTML}function vA(){this.nextSibling&&this.parentNode.appendChild(this)}function yA(){return this.each(vA)}function bA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function xA(){return this.each(bA)}function SA(e){var t=typeof e==`function`?e:ZO(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function CA(){return null}function wA(e,t){var n=typeof e==`function`?e:ZO(e),r=t==null?CA:typeof t==`function`?t:$O(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function TA(){var e=this.parentNode;e&&e.removeChild(this)}function EA(){return this.each(TA)}function DA(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function OA(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function kA(e){return this.select(e?OA:DA)}function AA(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function jA(e){return function(t){e.call(this,t,this.__data__)}}function MA(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function NA(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function PA(e,t,n){return function(){var r=this.__on,i,a=jA(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function FA(e,t,n){var r=MA(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?PA:NA,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function IA(e,t,n){var r=Gk(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function LA(e,t){return function(){return IA(this,e,t)}}function RA(e,t){return function(){return IA(this,e,t.apply(this,arguments))}}function zA(e,t){return this.each((typeof t==`function`?RA:LA)(e,t))}function*BA(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var VA=[null];function HA(e,t){this._groups=e,this._parents=t}function UA(){return new HA([[document.documentElement]],VA)}function WA(){return this}HA.prototype=UA.prototype={constructor:HA,select:ek,selectAll:ak,selectChild:dk,selectChildren:hk,filter:gk,data:wk,enter:vk,exit:Ek,join:Dk,merge:Ok,selection:WA,order:kk,sort:Ak,call:Mk,nodes:Nk,node:Pk,size:Fk,empty:Ik,each:Lk,attr:Wk,style:Yk,property:eA,classed:lA,text:pA,html:_A,raise:yA,lower:xA,append:SA,insert:wA,remove:EA,clone:kA,datum:AA,on:FA,dispatch:zA,[Symbol.iterator]:BA};function GA(e){return typeof e==`string`?new HA([[document.querySelector(e)]],[document.documentElement]):new HA([[e]],VA)}function KA(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function qA(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function JA(){}var YA=.7,XA=1/YA,ZA=`\\s*([+-]?\\d+)\\s*`,QA=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,$A=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,ej=/^#([0-9a-f]{3,8})$/,tj=RegExp(`^rgb\\(${ZA},${ZA},${ZA}\\)$`),nj=RegExp(`^rgb\\(${$A},${$A},${$A}\\)$`),rj=RegExp(`^rgba\\(${ZA},${ZA},${ZA},${QA}\\)$`),ij=RegExp(`^rgba\\(${$A},${$A},${$A},${QA}\\)$`),aj=RegExp(`^hsl\\(${QA},${$A},${$A}\\)$`),oj=RegExp(`^hsla\\(${QA},${$A},${$A},${QA}\\)$`),sj={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};KA(JA,fj,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:cj,formatHex:cj,formatHex8:lj,formatHsl:uj,formatRgb:dj,toString:dj});function cj(){return this.rgb().formatHex()}function lj(){return this.rgb().formatHex8()}function uj(){return Tj(this).formatHsl()}function dj(){return this.rgb().formatRgb()}function fj(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=ej.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?pj(t):n===3?new _j(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?mj(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?mj(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tj.exec(e))?new _j(t[1],t[2],t[3],1):(t=nj.exec(e))?new _j(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rj.exec(e))?mj(t[1],t[2],t[3],t[4]):(t=ij.exec(e))?mj(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=aj.exec(e))?wj(t[1],t[2]/100,t[3]/100,1):(t=oj.exec(e))?wj(t[1],t[2]/100,t[3]/100,t[4]):sj.hasOwnProperty(e)?pj(sj[e]):e===`transparent`?new _j(NaN,NaN,NaN,0):null}function pj(e){return new _j(e>>16&255,e>>8&255,e&255,1)}function mj(e,t,n,r){return r<=0&&(e=t=n=NaN),new _j(e,t,n,r)}function hj(e){return e instanceof JA||(e=fj(e)),e?(e=e.rgb(),new _j(e.r,e.g,e.b,e.opacity)):new _j}function gj(e,t,n,r){return arguments.length===1?hj(e):new _j(e,t,n,r??1)}function _j(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}KA(_j,gj,qA(JA,{brighter(e){return e=e==null?XA:XA**+e,new _j(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?YA:YA**+e,new _j(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _j(Sj(this.r),Sj(this.g),Sj(this.b),xj(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vj,formatHex:vj,formatHex8:yj,formatRgb:bj,toString:bj}));function vj(){return`#${Cj(this.r)}${Cj(this.g)}${Cj(this.b)}`}function yj(){return`#${Cj(this.r)}${Cj(this.g)}${Cj(this.b)}${Cj((isNaN(this.opacity)?1:this.opacity)*255)}`}function bj(){let e=xj(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Sj(this.r)}, ${Sj(this.g)}, ${Sj(this.b)}${e===1?`)`:`, ${e})`}`}function xj(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Sj(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cj(e){return e=Sj(e),(e<16?`0`:``)+e.toString(16)}function wj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Dj(e,t,n,r)}function Tj(e){if(e instanceof Dj)return new Dj(e.h,e.s,e.l,e.opacity);if(e instanceof JA||(e=fj(e)),!e)return new Dj;if(e instanceof Dj)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Dj(o,s,c,e.opacity)}function Ej(e,t,n,r){return arguments.length===1?Tj(e):new Dj(e,t,n,r??1)}function Dj(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}KA(Dj,Ej,qA(JA,{brighter(e){return e=e==null?XA:XA**+e,new Dj(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?YA:YA**+e,new Dj(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new _j(Aj(e>=240?e-240:e+120,i,r),Aj(e,i,r),Aj(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Dj(Oj(this.h),kj(this.s),kj(this.l),xj(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=xj(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Oj(this.h)}, ${kj(this.s)*100}%, ${kj(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Oj(e){return e=(e||0)%360,e<0?e+360:e}function kj(e){return Math.max(0,Math.min(1,e||0))}function Aj(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var jj=e=>()=>e;function Mj(e,t){return function(n){return e+n*t}}function Nj(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Pj(e){return(e=+e)==1?Fj:function(t,n){return n-t?Nj(t,n,e):jj(isNaN(t)?n:t)}}function Fj(e,t){var n=t-e;return n?Mj(e,n):jj(isNaN(e)?t:e)}var Ij=(function e(t){var n=Pj(t);function r(e,t){var r=n((e=gj(e)).r,(t=gj(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Fj(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Lj(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Rj(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function zj(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=Jj(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Bj(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Vj(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Hj(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Jj(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Uj=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Wj=new RegExp(Uj.source,`g`);function Gj(e){return function(){return e}}function Kj(e){return function(t){return e(t)+``}}function qj(e,t){var n=Uj.lastIndex=Wj.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Uj.exec(e))&&(i=Wj.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Vj(r,i)})),n=Wj.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Kj(c[0].x):Gj(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Jj(e,t){var n=typeof t,r;return t==null||n===`boolean`?jj(t):(n===`number`?Vj:n===`string`?(r=fj(t))?(t=r,Ij):qj:t instanceof fj?Ij:t instanceof Date?Bj:Rj(t)?Lj:Array.isArray(t)?zj:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Hj:Vj)(e,t)}function Yj(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Xj=180/Math.PI,Zj={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Qj(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Xj,skewX:Math.atan(c)*Xj,scaleX:o,scaleY:s}}var $j;function eM(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Zj:Qj(t.a,t.b,t.c,t.d,t.e,t.f)}function tM(e){return e==null||($j||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),$j.setAttribute(`transform`,e),!(e=$j.transform.baseVal.consolidate()))?Zj:(e=e.matrix,Qj(e.a,e.b,e.c,e.d,e.e,e.f))}function nM(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Vj(e,i)},{i:c-2,x:Vj(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Vj(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Vj(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Vj(e,n)},{i:s-2,x:Vj(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var rM=nM(eM,`px, `,`px)`,`deg)`),iM=nM(tM,`, `,`)`,`)`),aM=0,oM=0,sM=0,cM=1e3,lM,uM,dM=0,fM=0,pM=0,mM=typeof performance==`object`&&performance.now?performance:Date,hM=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gM(){return fM||=(hM(_M),mM.now()+pM)}function _M(){fM=0}function vM(){this._call=this._time=this._next=null}vM.prototype=yM.prototype={constructor:vM,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?gM():+n)+(t==null?0:+t),!this._next&&uM!==this&&(uM?uM._next=this:lM=this,uM=this),this._call=e,this._time=n,wM()},stop:function(){this._call&&(this._call=null,this._time=1/0,wM())}};function yM(e,t,n){var r=new vM;return r.restart(e,t,n),r}function bM(){gM(),++aM;for(var e=lM,t;e;)(t=fM-e._time)>=0&&e._call.call(void 0,t),e=e._next;--aM}function xM(){fM=(dM=mM.now())+pM,aM=oM=0;try{bM()}finally{aM=0,CM(),fM=0}}function SM(){var e=mM.now(),t=e-dM;t>cM&&(pM-=t,dM=e)}function CM(){for(var e,t=lM,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:lM=n);uM=e,wM(r)}function wM(e){aM||(oM&&=clearTimeout(oM),e-fM>24?(e<1/0&&(oM=setTimeout(xM,e-mM.now()-pM)),sM&&=clearInterval(sM)):(sM||=(dM=mM.now(),setInterval(SM,cM)),aM=1,hM(xM)))}function TM(e,t,n){var r=new vM;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var EM=HO(`start`,`end`,`cancel`,`interrupt`),DM=[];function OM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;MM(e,n,{name:t,index:r,group:i,on:EM,tween:DM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function kM(e,t){var n=jM(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function AM(e,t){var n=jM(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function jM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function MM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=yM(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return TM(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(TM(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function NM(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function PM(e){return this.each(function(){NM(this,e)})}function FM(e,t){var n,r;return function(){var i=AM(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function IM(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=AM(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function LM(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=jM(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?FM:IM)(n,e,t))}function RM(e,t,n){var r=e._id;return e.each(function(){var e=AM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return jM(e,r).value[t]}}function zM(e,t){var n;return(typeof t==`number`?Vj:t instanceof fj?Ij:(n=fj(t))?(t=n,Ij):qj)(e,t)}function BM(e){return function(){this.removeAttribute(e)}}function VM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function HM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function UM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function WM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function GM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function KM(e,t){var n=JO(e),r=n===`transform`?iM:zM;return this.attrTween(e,typeof t==`function`?(n.local?GM:WM)(n,r,RM(this,`attr.`+e,t)):t==null?(n.local?VM:BM)(n):(n.local?UM:HM)(n,r,t))}function qM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function JM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function YM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&JM(e,i)),n}return i._value=t,i}function XM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&qM(e,i)),n}return i._value=t,i}function ZM(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=JO(e);return this.tween(n,(r.local?YM:XM)(r,t))}function QM(e,t){return function(){kM(this,e).delay=+t.apply(this,arguments)}}function $M(e,t){return t=+t,function(){kM(this,e).delay=t}}function eN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?QM:$M)(t,e)):jM(this.node(),t).delay}function tN(e,t){return function(){AM(this,e).duration=+t.apply(this,arguments)}}function nN(e,t){return t=+t,function(){AM(this,e).duration=t}}function rN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?tN:nN)(t,e)):jM(this.node(),t).duration}function iN(e,t){if(typeof t!=`function`)throw Error();return function(){AM(this,e).ease=t}}function aN(e){var t=this._id;return arguments.length?this.each(iN(t,e)):jM(this.node(),t).ease}function oN(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();AM(this,e).ease=n}}function sN(e){if(typeof e!=`function`)throw Error();return this.each(oN(this._id,e))}function cN(e){typeof e!=`function`&&(e=ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new LN(r,this._parents,this._name,this._id)}function lN(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new LN(o,this._parents,this._name,this._id)}function uN(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function dN(e,t,n){var r,i,a=uN(t)?kM:AM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function fN(e,t){var n=this._id;return arguments.length<2?jM(this.node(),n).on.on(e):this.each(dN(n,e,t))}function pN(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function mN(){return this.on(`end.remove`,pN(this._id))}function hN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=$O(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,OM(l[f],t,n,f,l,jM(u,n)));return new LN(a,this._parents,t,n)}function gN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=rk(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=jM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&OM(p,t,n,h,f,m);a.push(f),o.push(u)}return new LN(a,o,t,n)}var _N=UA.prototype.constructor;function vN(){return new _N(this._groups,this._parents)}function yN(e,t){var n,r,i;return function(){var a=Xk(this,e),o=(this.style.removeProperty(e),Xk(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function bN(e){return function(){this.style.removeProperty(e)}}function xN(e,t,n){var r,i=n+``,a;return function(){var o=Xk(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function SN(e,t,n){var r,i,a;return function(){var o=Xk(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Xk(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function CN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=AM(this,e),l=c.on,u=c.value[a]==null?s||=bN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function wN(e,t,n){var r=(e+=``)==`transform`?rM:zM;return t==null?this.styleTween(e,yN(e,r)).on(`end.style.`+e,bN(e)):typeof t==`function`?this.styleTween(e,SN(e,r,RM(this,`style.`+e,t))).each(CN(this._id,e)):this.styleTween(e,xN(e,r,t),n).on(`end.style.`+e,null)}function TN(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function EN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&TN(e,a,n)),r}return a._value=t,a}function DN(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,EN(e,t,n??``))}function ON(e){return function(){this.textContent=e}}function kN(e){return function(){var t=e(this);this.textContent=t??``}}function AN(e){return this.tween(`text`,typeof e==`function`?kN(RM(this,`text`,e)):ON(e==null?``:e+``))}function jN(e){return function(t){this.textContent=e.call(this,t)}}function MN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&jN(r)),t}return r._value=e,r}function NN(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,MN(e))}function PN(){for(var e=this._name,t=this._id,n=RN(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=jM(c,t);OM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new LN(r,this._parents,e,n)}function FN(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=AM(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var IN=0;function LN(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function RN(){return++IN}var zN=UA.prototype;LN.prototype={constructor:LN,select:hN,selectAll:gN,selectChild:zN.selectChild,selectChildren:zN.selectChildren,filter:cN,merge:lN,selection:vN,transition:PN,call:zN.call,nodes:zN.nodes,node:zN.node,size:zN.size,empty:zN.empty,each:zN.each,on:fN,attr:KM,attrTween:ZM,style:wN,styleTween:DN,text:AN,textTween:NN,remove:mN,tween:LM,delay:eN,duration:rN,ease:aN,easeVarying:sN,end:FN,[Symbol.iterator]:zN[Symbol.iterator]};function BN(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var VN={time:null,delay:0,duration:250,ease:BN};function HN(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function UN(e){var t,n;e instanceof LN?(t=e._id,e=e._name):(t=RN(),(n=VN).time=gM(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&OM(c,e,t,l,o,n||HN(c,t));return new LN(r,this._parents,e,t)}UA.prototype.interrupt=PM,UA.prototype.transition=UN;var{abs:WN,max:GN,min:KN}=Math;[`w`,`e`].map(qN),[`n`,`s`].map(qN),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(qN);function qN(e){return{type:e}}var JN=Math.PI,YN=2*JN,XN=1e-6,ZN=YN-XN;function QN(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function $N(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return QN;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var eP=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?QN:$N(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>XN){if(!(Math.abs(u*s-c*l)>XN)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((JN-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>XN&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>XN||Math.abs(this._y1-l)>XN)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%YN+YN),d>ZN?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>XN&&this._append`A${n},${n},0,${+(d>=JN)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};eP.prototype;function tP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function nP(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function rP(e){return e=nP(Math.abs(e)),e?e[1]:NaN}function iP(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function aP(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var oP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function sP(e){if(!(t=oP.exec(e)))throw Error(`invalid format: `+e);var t;return new cP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}sP.prototype=cP.prototype;function cP(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}cP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function lP(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var uP;function dP(e,t){var n=nP(e,t);if(!n)return uP=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(uP=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+nP(e,Math.max(0,t+a-1))[0]}function fP(e,t){var n=nP(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var pP={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:tP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>fP(e*100,t),r:fP,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function mP(e){return e}var hP=Array.prototype.map,gP=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function _P(e){var t=e.grouping===void 0||e.thousands===void 0?mP:iP(hP.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?mP:aP(hP.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=sP(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):pP[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=pP[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=lP(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&uP!==void 0?gP[8+uP/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3,r=10**-n,i=l((e=sP(e),e.type=`f`,e),{suffix:gP[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var vP,yP,bP;xP({thousands:`,`,grouping:[3],currency:[`$`,``]});function xP(e){return vP=_P(e),yP=vP.format,bP=vP.formatPrefix,vP}function SP(e){return Math.max(0,-rP(Math.abs(e)))}function CP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3-rP(Math.abs(e)))}function wP(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,rP(t)-rP(e))+1}function TP(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function EP(){return this.eachAfter(TP)}function DP(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function OP(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function kP(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function AP(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function jP(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function MP(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function NP(e){for(var t=this,n=PP(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function PP(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function FP(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function IP(){return Array.from(this)}function LP(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function RP(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*zP(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function BP(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=UP)):t===void 0&&(t=HP);for(var n=new KP(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new KP(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(GP)}function VP(){return BP(this).eachBefore(WP)}function HP(e){return e.children}function UP(e){return Array.isArray(e)?e[1]:null}function WP(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function GP(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function KP(e){this.data=e,this.depth=this.height=0,this.parent=null}KP.prototype=BP.prototype={constructor:KP,count:EP,each:DP,eachAfter:kP,eachBefore:OP,find:AP,sum:jP,sort:MP,path:NP,ancestors:FP,descendants:IP,leaves:LP,links:RP,copy:VP,[Symbol.iterator]:zP};function qP(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function JP(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function YP(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(qP),i}function a(e,t){return function(r){r.children&&JP(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}function XP(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var ZP=Symbol(`implicit`);function QP(){var e=new pO,t=[],n=[],r=ZP;function i(i){let a=e.get(i);if(a===void 0){if(r!==ZP)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new pO;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return QP(t,n).unknown(r)},XP.apply(i,arguments),i}function $P(){var e=QP().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=EO(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return $P(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},XP.apply(d(),arguments)}function eF(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return eF(t())},e}function tF(){return eF($P.apply(null,arguments).paddingInner(1))}function nF(e){return function(){return e}}function rF(e){return+e}var iF=[0,1];function aF(e){return e}function oF(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:nF(isNaN(t)?NaN:.5)}function sF(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function cF(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=oF(i,r),a=n(o,a)):(r=oF(r,i),a=n(a,o)),function(e){return a(r(e))}}function lF(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=oF(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=dO(e,t,1,r)-1;return a[n](i[n](t))}}function uF(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function dF(){var e=iF,t=iF,n=Jj,r,i,a,o=aF,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==aF&&(o=sF(e[0],e[n-1])),s=n>2?lF:cF,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Vj))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,rF),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Yj,u()},d.clamp=function(e){return arguments.length?(o=e?!0:aF,u()):o!==aF},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function fF(){return dF()(aF,aF)}function pF(e,t,n,r){var i=wO(e,t,n),a;switch(r=sP(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=CP(i,o))&&(r.precision=a),bP(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=wP(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=SP(i))&&(r.precision=a-(r.type===`%`)*2)}return yP(r)}function mF(e){var t=e.domain;return e.ticks=function(e){var n=t();return SO(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return pF(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=CO(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function hF(){var e=fF();return e.copy=function(){return uF(e,hF())},XP.apply(e,arguments),mF(e)}function gF(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}var _F=new Date,vF=new Date;function yF(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>yF(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(_F.setTime(+t),vF.setTime(+r),e(_F),e(vF),Math.floor(n(_F,vF))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var bF=yF(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);bF.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?yF(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):bF),bF.range;var xF=1e3,SF=xF*60,CF=SF*60,wF=CF*24,TF=wF*7,EF=wF*30,DF=wF*365,OF=yF(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*xF)},(e,t)=>(t-e)/xF,e=>e.getUTCSeconds());OF.range;var kF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getMinutes());kF.range;var AF=yF(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getUTCMinutes());AF.range;var jF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF-e.getMinutes()*SF)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getHours());jF.range;var MF=yF(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getUTCHours());MF.range;var NF=yF(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/wF,e=>e.getDate()-1);NF.range;var PF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>e.getUTCDate()-1);PF.range;var FF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>Math.floor(e/wF));FF.range;function IF(e){return yF(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/TF)}var LF=IF(0),RF=IF(1),zF=IF(2),BF=IF(3),VF=IF(4),HF=IF(5),UF=IF(6);LF.range,RF.range,zF.range,BF.range,VF.range,HF.range,UF.range;function WF(e){return yF(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/TF)}var GF=WF(0),KF=WF(1),qF=WF(2),JF=WF(3),YF=WF(4),XF=WF(5),ZF=WF(6);GF.range,KF.range,qF.range,JF.range,YF.range,XF.range,ZF.range;var QF=yF(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());QF.range;var $F=yF(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());$F.range;var eI=yF(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());eI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),eI.range;var tI=yF(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());tI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),tI.range;function nI(e,t,n,r,i,a){let o=[[OF,1,xF],[OF,5,5*xF],[OF,15,15*xF],[OF,30,30*xF],[a,1,SF],[a,5,5*SF],[a,15,15*SF],[a,30,30*SF],[i,1,CF],[i,3,3*CF],[i,6,6*CF],[i,12,12*CF],[r,1,wF],[r,2,2*wF],[n,1,TF],[t,1,EF],[t,3,3*EF],[e,1,DF]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=sO(([,,e])=>e).right(o,i);if(a===o.length)return e.every(wO(t/DF,n/DF,r));if(a===0)return bF.every(Math.max(wO(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[rI,iI]=nI(tI,$F,GF,FF,MF,AF),[aI,oI]=nI(eI,QF,LF,NF,jF,kF);function sI(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function cI(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function lI(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function uI(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=gI(i),u=_I(i),d=gI(a),f=_I(a),p=gI(o),m=_I(o),h=gI(s),g=_I(s),_=gI(c),v=_I(c),y={a:N,A:P,b:F,B:I,c:null,d:RI,e:RI,f:UI,g:eL,G:nL,H:zI,I:BI,j:VI,L:HI,m:WI,M:GI,p:L,q:R,Q:TL,s:EL,S:KI,u:qI,U:JI,V:XI,w:ZI,W:QI,x:null,X:null,y:$I,Y:tL,Z:rL,"%":wL},b={a:z,A:B,b:V,B:ee,c:null,d:iL,e:iL,f:lL,g:bL,G:SL,H:aL,I:oL,j:sL,L:cL,m:uL,M:dL,p:te,q:H,Q:TL,s:EL,S:fL,u:pL,U:mL,V:gL,w:_L,W:vL,x:null,X:null,y:yL,Y:xL,Z:CL,"%":wL},x={a:E,A:D,b:O,B:k,c:A,d:OI,e:OI,f:PI,g:wI,G:CI,H:AI,I:AI,j:kI,L:NI,m:DI,M:jI,p:T,q:EI,Q:II,s:LI,S:MI,u:yI,U:bI,V:xI,w:vI,W:SI,x:j,X:M,y:wI,Y:CI,Z:TI,"%":FI};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=dI[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=lI(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=cI(lI(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?KF.ceil(a):KF(a),a=PF.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=sI(lI(r.y,0,1)),o=a.getDay(),a=o>4||o===0?RF.ceil(a):RF(a),a=NF.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?cI(lI(r.y,0,1)).getUTCDay():sI(lI(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,cI(r)):sI(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in dI?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function ee(e){return s[e.getUTCMonth()]}function te(e){return i[+(e.getUTCHours()>=12)]}function H(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var dI={"-":``,_:` `,0:`0`},fI=/^\s*\d+/,pI=/^%/,mI=/[\\^$*+?|[\]().{}]/g;function Z(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function hI(e){return e.replace(mI,`\\$&`)}function gI(e){return RegExp(`^(?:`+e.map(hI).join(`|`)+`)`,`i`)}function _I(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function vI(e,t,n){var r=fI.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function yI(e,t,n){var r=fI.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function bI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function xI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function SI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function CI(e,t,n){var r=fI.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function wI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function TI(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function EI(e,t,n){var r=fI.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function DI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function OI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function kI(e,t,n){var r=fI.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function AI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function jI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function MI(e,t,n){var r=fI.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function NI(e,t,n){var r=fI.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function PI(e,t,n){var r=fI.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function FI(e,t,n){var r=pI.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function II(e,t,n){var r=fI.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function LI(e,t,n){var r=fI.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function RI(e,t){return Z(e.getDate(),t,2)}function zI(e,t){return Z(e.getHours(),t,2)}function BI(e,t){return Z(e.getHours()%12||12,t,2)}function VI(e,t){return Z(1+NF.count(eI(e),e),t,3)}function HI(e,t){return Z(e.getMilliseconds(),t,3)}function UI(e,t){return HI(e,t)+`000`}function WI(e,t){return Z(e.getMonth()+1,t,2)}function GI(e,t){return Z(e.getMinutes(),t,2)}function KI(e,t){return Z(e.getSeconds(),t,2)}function qI(e){var t=e.getDay();return t===0?7:t}function JI(e,t){return Z(LF.count(eI(e)-1,e),t,2)}function YI(e){var t=e.getDay();return t>=4||t===0?VF(e):VF.ceil(e)}function XI(e,t){return e=YI(e),Z(VF.count(eI(e),e)+(eI(e).getDay()===4),t,2)}function ZI(e){return e.getDay()}function QI(e,t){return Z(RF.count(eI(e)-1,e),t,2)}function $I(e,t){return Z(e.getFullYear()%100,t,2)}function eL(e,t){return e=YI(e),Z(e.getFullYear()%100,t,2)}function tL(e,t){return Z(e.getFullYear()%1e4,t,4)}function nL(e,t){var n=e.getDay();return e=n>=4||n===0?VF(e):VF.ceil(e),Z(e.getFullYear()%1e4,t,4)}function rL(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function iL(e,t){return Z(e.getUTCDate(),t,2)}function aL(e,t){return Z(e.getUTCHours(),t,2)}function oL(e,t){return Z(e.getUTCHours()%12||12,t,2)}function sL(e,t){return Z(1+PF.count(tI(e),e),t,3)}function cL(e,t){return Z(e.getUTCMilliseconds(),t,3)}function lL(e,t){return cL(e,t)+`000`}function uL(e,t){return Z(e.getUTCMonth()+1,t,2)}function dL(e,t){return Z(e.getUTCMinutes(),t,2)}function fL(e,t){return Z(e.getUTCSeconds(),t,2)}function pL(e){var t=e.getUTCDay();return t===0?7:t}function mL(e,t){return Z(GF.count(tI(e)-1,e),t,2)}function hL(e){var t=e.getUTCDay();return t>=4||t===0?YF(e):YF.ceil(e)}function gL(e,t){return e=hL(e),Z(YF.count(tI(e),e)+(tI(e).getUTCDay()===4),t,2)}function _L(e){return e.getUTCDay()}function vL(e,t){return Z(KF.count(tI(e)-1,e),t,2)}function yL(e,t){return Z(e.getUTCFullYear()%100,t,2)}function bL(e,t){return e=hL(e),Z(e.getUTCFullYear()%100,t,2)}function xL(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function SL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?YF(e):YF.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function CL(){return`+0000`}function wL(){return`%`}function TL(e){return+e}function EL(e){return Math.floor(e/1e3)}var DL,OL;kL({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function kL(e){return DL=uI(e),OL=DL.format,DL.parse,DL.utcFormat,DL.utcParse,DL}function AL(e){return new Date(e)}function jL(e){return e instanceof Date?+e:+new Date(+e)}function ML(e,t,n,r,i,a,o,s,c,l){var u=fF(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,jL)):f().map(AL)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(gF(n,e)):u},u.copy=function(){return uF(u,ML(e,t,n,r,i,a,o,s,c,l))},u}function NL(){return XP.apply(ML(aI,oI,eI,QF,LF,NF,jF,kF,OF,OL).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function PL(e){return function(){return e}}var FL=Math.abs,IL=Math.atan2,LL=Math.cos,RL=Math.max,zL=Math.min,BL=Math.sin,VL=Math.sqrt,HL=Math.PI,UL=HL/2,WL=2*HL;function GL(e){return e>1?0:e<-1?HL:Math.acos(e)}function KL(e){return e>=1?UL:e<=-1?-UL:Math.asin(e)}function qL(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new eP(t)}function JL(e){return e.innerRadius}function YL(e){return e.outerRadius}function XL(e){return e.startAngle}function ZL(e){return e.endAngle}function QL(e){return e&&e.padAngle}function $L(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function eR(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/VL(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*VL(RL(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function tR(){var e=JL,t=YL,n=PL(0),r=null,i=XL,a=ZL,o=QL,s=null,c=qL(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-UL,m=a.apply(this,arguments)-UL,h=FL(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>WL-1e-12)s.moveTo(f*LL(p),f*BL(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*LL(m),d*BL(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):VL(d*d+f*f)),T=zL(FL(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=KL(w/d*BL(C)),j=KL(w/f*BL(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*LL(_),N=f*BL(_),P=d*LL(b),F=d*BL(b);if(T>1e-12){var I=f*LL(v),L=f*BL(v),R=d*LL(y),z=d*BL(y),B;if(h<HL){if(B=$L(M,N,R,z,I,L,P,F)){var V=M-B[0],ee=N-B[1],te=I-B[0],H=L-B[1],U=1/BL(GL((V*te+ee*H)/(VL(V*V+ee*ee)*VL(te*te+H*H)))/2),W=VL(B[0]*B[0]+B[1]*B[1]);E=zL(T,(d-W)/(U-1)),D=zL(T,(f-W)/(U+1))}else E=D=0}}S>1e-12?D>1e-12?(O=eR(R,z,M,N,f,D,g),k=eR(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,IL(O.y01,O.x01),IL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,IL(O.y01,O.x01),IL(O.y11,O.x11),!g),s.arc(0,0,f,IL(O.cy+O.y11,O.cx+O.x11),IL(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,IL(k.y11,k.x11),IL(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=eR(P,F,I,L,d,-E,g),k=eR(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,IL(O.y01,O.x01),IL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,IL(O.y01,O.x01),IL(O.y11,O.x11),!g),s.arc(0,0,d,IL(O.cy+O.y11,O.cx+O.x11),IL(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,IL(k.y11,k.x11),IL(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-HL/2;return[LL(r)*n,BL(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:PL(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:PL(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:PL(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:PL(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:PL(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function nR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function rR(e){this._context=e}rR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function iR(e){return new rR(e)}function aR(e){return e[0]}function oR(e){return e[1]}function sR(e,t){var n=PL(!0),r=null,i=iR,a=null,o=qL(s);e=typeof e==`function`?e:e===void 0?aR:PL(e),t=typeof t==`function`?t:t===void 0?oR:PL(t);function s(s){var c,l=(s=nR(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:PL(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function cR(e,t,n){var r=null,i=PL(!0),a=null,o=iR,s=null,c=qL(l);e=typeof e==`function`?e:e===void 0?aR:PL(+e),t=typeof t==`function`?t:PL(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?oR:PL(+n);function l(l){var u,d,f,p=(l=nR(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return sR().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:PL(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:PL(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:PL(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:PL(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:PL(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function lR(e){return e<0?-1:1}function uR(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(lR(a)+lR(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function dR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function fR(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function pR(e){this._context=e}pR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:fR(this,this._t0,dR(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,fR(this,dR(this,n=uR(this,e,t)),n);break;default:fR(this,this._t0,n=uR(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(pR.prototype).point=function(e,t){pR.prototype.point.call(this,t,e)};function mR(e){return new pR(e)}function hR(e,t){this._context=e,this._t=t}hR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function gR(e){return new hR(e,1)}function _R(e,t,n){this.k=e,this.x=t,this.y=n}_R.prototype={constructor:_R,scale:function(e){return e===1?this:new _R(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new _R(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var vR=new _R(1,0,0);yR.prototype=_R.prototype;function yR(e){for(;!e.__zoom;)if(!(e=e.parentNode))return vR;return e.__zoom}function bR(e,t=15){let n=e.split(` `),r=[],i=[],a=0;return n.forEach(e=>{a+e.length>t?(i.length&&r.push(i.join(` `)),i=[e],a=e.length):(i.push(e),a+=e.length+ +(i.length>0))}),i.length&&r.push(i.join(` `)),r}var xR={DECISIVE:20,ROUTINE:50},SR=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),CR={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},wR=`#cfd8dc`,TR=`COMPETITIVE`,ER=`ROUTINE`,DR=`DECISIVE`,OR=`WALKOVER`;function kR(e,t=xR){if(!e?.length)return;let n=[0,0],r=[0,0];for(let t of e)n[0]+=t.side1Score||0,n[1]+=t.side2Score||0,r[0]+=t.side1TiebreakScore||0,r[1]+=t.side2TiebreakScore||0;r[0]+r[1]&&(n[r[0]>r[1]?0:1]+=1);let i=Math.max(n[0],n[1]);if(i===0)return;let a=Math.round(Math.min(n[0],n[1])/i*100);return Number.isNaN(a)?OR:a<=t.DECISIVE?DR:a<=t.ROUTINE?ER:TR}function AR(e,n=xR){if(e)return kR(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function jR({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&SR.has(t))return OR;if(e)return n?.length?kR(n,i):AR(r,i)}function MR(e,t){return e?t?.[e]??CR[e]:wR}var{WILDCARD:NR,QUALIFIER:PR,LUCKY_LOSER:FR}=t.entryStatusConstants,IR=`text-anchor`,LR=`dominant-baseline`,RR=`fill-opacity`,zR=Object.assign({},...t.fixtures.countries.filter(e=>e.ioc).map(e=>({[e.ioc]:e.iso2})),...t.fixtures.countries.filter(e=>e.iso).map(e=>({[e.iso]:e.iso2})));function BR(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function VR(e){if(e)switch(e){case NR:return`WC`;case PR:return`Q`;case FR:return`LL`;default:return e}}function HR(e,t){let n=[];for(let r of e)for(let e of r.sides){let i=r.matchUpStatus===`BYE`&&!e.participantName;n.push({name:e.participantName||(i?`BYE`:``),participantName:e.participantName||(i?`BYE`:void 0),drawPosition:e.drawPosition,seedNumber:e.seedNumber,entryStatus:VR(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function UR(e,t){let n=e.winningSide!==void 0&&e.winningSide!==null?e.sides.find(t=>t.sideNumber===e.winningSide):void 0;!n&&e.matchUpStatus===`BYE`&&(n=e.sides.find(e=>e.participantName));let r=n?.participantName,i=r?t.get(r):void 0;return{winnerName:r,winnerSide:n,winnerLookup:i}}function WR(e,t,n,r){return e.map((e,i)=>{let a=i*2,o=[t[a],t[a+1]].filter(Boolean),{winnerName:s,winnerSide:c,winnerLookup:l}=UR(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:VR(c?.entryStatus)??l?.entryStatus,nationalityCode:c?.nationalityCode??l?.nationalityCode,scoreString:e.scoreString,matchUpStatus:e.matchUpStatus,competitiveness:e.competitiveness,matchUp:e,depth:n,children:o.length>0?o:void 0}})}function GR(e){let{roundMatchUps:t}=e,n=Object.keys(t).map(Number).sort((e,t)=>e-t);if(n.length===0)throw Error(`No round data found in draw`);let r=t[n[0]],i=BR(HR(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=WR(BR(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=WR(BR(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function KR(e,t){if(!e)return;let{seedNumber:n,entryStatus:r,drawPosition:i,participantName:a}=e,o;if(a?.trim().toUpperCase()===`BYE`)o=`#B0BEC5`;else if(n){let e=Number(n),t=hF().domain([1,32]).range([`0`,`1`]);o=hF().domain(EO(0,1,1/7)).range([`#81D4FA`,`#42A5F5`,`#1E88E5`,`#1565C0`,`#5C6BC0`,`#673AB7`,`#9C27B0`])(Number(t(e)))}else if(r?.toUpperCase()===`WC`)o=`red`;else if(r&&(r===`Q`||r===`LL`))o=hF().domain(EO(0,1,1/3)).range([`#FFF176`,`#FBC02D`,`#FF9800`])(t(i));else{let e=[`#C8E6C9`,`#81C784`,`#66BB6A`,`#4CAF50`,`#43A047`,`#388E3C`,`#2E7D32`,`#1B5E20`,`#A5D6A7`,`#90CAF9`,`#64B5F6`,`#42A5F5`,`#2196F3`,`#1E88E5`,`#1976D2`,`#1565C0`];o=hF().domain(EO(0,1,1/e.length)).range(e)(t(i))}e.color=o,e.children&&e.children.forEach(n=>{n.participantName===e.participantName&&(n.color=o),KR(n,t)})}function qR(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?MR(e.competitiveness,t):wR,e.children?.forEach(e=>qR(e,t)))}function JR(e,t){let n=[];return e.seedNumber?n.push(`Seed ${e.seedNumber}`):e.entryStatus&&n.push(e.entryStatus),t===7&&e.drawPosition&&n.push(`Draw ${e.drawPosition}`),n.length>0?n.join(` • `):void 0}function YR(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function XR(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=YR(t.children,e.participantName),r&&n.push(r.participantName);else{let r=JR(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function ZR(e,t){return-(e*t/2)+t/2}function QR(e,t,n){let r=GA(e).append(`svg`).attr(`width`,t).attr(`height`,n).style(`display`,`block`),i=r.append(`g`).attr(`transform`,`translate(${t/2}, ${n/2})`);return{svg:r,g:i,flagsGroup:i.append(`g`).attr(`class`,`flags-group`),winningFlagsGroup:i.append(`g`).attr(`class`,`winning-flags-group`),losingFlagsGroup:i.append(`g`).attr(`class`,`losing-flags-group`)}}function $R(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr(IR,`middle`).attr(LR,`middle`).attr(`font-size`,`${r}px`).attr(`font-weight`,`bold`).style(`fill`,`var(--chc-text-primary, #333)`).attr(`pointer-events`,`none`),o=r+i*.5;return{centerText:a,centerText2:e.append(`text`).attr(`x`,t/2).attr(`y`,n/2+o).attr(IR,`middle`).attr(LR,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function ez(e,t,n,r,i,a,o){n&&(i?(t.flagsGroup.selectAll(`text`).remove(),t.winningFlagsGroup.selectAll(`text`).remove(),t.losingFlagsGroup.selectAll(`text`).remove()):e.selectAll(`text`).remove(),e.append(`text`).attr(`font-size`,`${o}px`).attr(IR,`middle`).attr(LR,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(iz(n)))}function tz(e,n,r,i={}){let a=i.width||800,o=i.height||800,s=Math.min(a,o)/800*(i.textScaleFactor??1),c=28*s,l=24*s,u=30*s,d=r||i.title||`Tournament`,f=Object.assign({},...t.fixtures.countries.filter(e=>e.label).map(e=>({[e.ioc]:e.label})));if(!Object.keys(n?.roundMatchUps??{}).length)return{highlightPlayer:()=>0,hide:()=>void 0,setColorMode:()=>void 0};let p=GR(n),m=BP(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;YP().size([2*Math.PI,h-g])(m),KR(p,hF().domain([0,n.drawSize||128]).range([0,1])),qR(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=tR().startAngle(e=>e.x0).endAngle(e=>e.x1).innerRadius(e=>e.y0+g).outerRadius(e=>e.y1+g),{svg:S,g:C,flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E}=QR(e,a,o),D=new Set,O=e=>{e.nationalityCode&&D.add(e.nationalityCode),e.children&&e.children.forEach(O)};O(p);let k=Array.from(D),{centerText:A,centerText2:j}=$R(S,a,o,c,l);function M(){let e=bR(d,15);A.text(``),A.selectAll(`tspan`).remove(),j.text(``),j.selectAll(`tspan`).remove(),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let t=-(e.length*u/2)+u/2;A.attr(`y`,o/2+t),A.style(`display`,`block`),j.style(`display`,`none`)}function N(){if(w.selectAll(`text`).remove(),T.selectAll(`text`).remove(),E.selectAll(`text`).remove(),k.length===0)return;let e=hF().domain([0,k.length]).range([0,Math.PI*2]),t=_(20),n=g-t+10;w.selectAll(`text`).data(k).join(`text`).attr(`font-size`,`${t}px`).attr(IR,`middle`).attr(LR,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>iz(e)).style(`cursor`,`pointer`).on(`mouseover`,function(e,t){let n=f[t]||t;A.selectAll(`tspan`).remove(),A.attr(`y`,o/2),A.text(n).style(`display`,`block`),j.selectAll(`tspan`).remove(),j.text(``).style(`display`,`none`),F||C.selectAll(`path`).attr(RR,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(RR,.8),M()})}N(),M();let P=i.eventHandlers?.clickCenter;P&&C.insert(`circle`,`:first-child`).attr(`r`,g).attr(`fill`,`transparent`).style(`cursor`,`pointer`).on(`click`,P);let F=!1,I;function L(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=XR(n,t);r&&(n.opponent=r),A.selectAll(`tspan`).remove(),A.text(``),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let i=ZR(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==I?.toLowerCase()&&GA(e.currentTarget).attr(RR,.9):C.selectAll(`path`).attr(RR,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};ez(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&ez(E,s,n.opponent.nationalityCode,1,!1,i,r)}function R(e,t){if(F){let n=t.data.participantName?.toLowerCase()===I?.toLowerCase();GA(e.currentTarget).attr(RR,n?1:.2)}else C.selectAll(`path`).attr(RR,.8);N(),M()}let z=i.eventHandlers?.clickSegment;function B(e,t){if(!z)return;let n=t.data;z({participantName:n.participantName,drawPosition:n.drawPosition,seedNumber:n.seedNumber,entryStatus:n.entryStatus,nationalityCode:n.nationalityCode,scoreString:n.scoreString,matchUpStatus:n.matchUpStatus,competitiveness:n.competitiveness,roundName:n.roundName,depth:n.depth,matchUp:n.matchUp})}let V=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(RR,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,L).on(`mouseout`,R);z&&V.style(`cursor`,`pointer`).on(`click`,B),V.append(`title`).text(e=>{let t=e.data;if(t.participantName){let e=[t.participantName,`Draw: ${t.drawPosition||`N/A`}`];return t.competitiveness&&e.push(`Competitiveness: ${t.competitiveness}`),e.join(`
215
215
  `)}return`${t.name}\nDepth: ${e.depth}`});function ee(e){let t=0;return F=!!e,I=e,C.selectAll(`path`).attr(RR,n=>e?n.data.participantName?.toLowerCase()===e.toLowerCase()?(t+=1,1):.2:.8),t}function te(e){S.style(`display`,e?`none`:`block`)}function H(e){v=e,C.selectAll(`path`).attr(`fill`,e=>y(e.data))}return{highlightPlayer:ee,hide:te,setColorMode:H}}function nz(e={}){return{render:(t,n,r)=>tz(t,n,r,e)}}function rz(e){return e?.length===2?e&&String.fromCodePoint!==void 0?e.toUpperCase().replaceAll(/./g,e=>String.fromCodePoint((e.codePointAt(0)??0)+127397)):e:``}function iz(e){return rz(zR[e]||e)}var{LUCKY_LOSER:az,WILDCARD:oz,QUALIFIER:sz}=t.entryStatusConstants,{WIN_RATIO:cz,ROUND_OUTCOME:lz,MAIN:uz,CONTAINER:dz}=t.drawDefinitionConstants;function fz(e){return e?.finishingPosition===lz&&e?.structureType!==dz}function pz(e){return e?.finishingPosition===cz||e?.structureType===dz}function mz(e){if(!e?.length)return;let t=e.filter(fz);if(t.length)return t.find(e=>e.stage===uz)??t[0]}function hz(e){if(pz(e))return{drawSize:0,roundMatchUps:{}};let t={};for(let[n,r]of Object.entries(e.roundMatchUps))t[Number(n)]=r.map(e=>({...e,winningSide:e.winningSide,drawPositions:e.drawPositions||[],competitiveness:jR({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.score?.sets}),scoreString:e.winningSide===1?e.score?.scoreStringSide1:e.winningSide===2?e.score?.scoreStringSide2:void 0,sides:(e.sides||[]).map(e=>({sideNumber:e.sideNumber,drawPosition:e.drawPosition,participantName:e.participant?.participantName,nationalityCode:e.participant?.person?.nationalityCode,seedNumber:e.seedNumber,entryStatus:e.participant?.entryStatus}))}));return{drawSize:(t[1]?.length||0)*2,roundMatchUps:t,seedAssignments:e.seedAssignments}}var gz={LL:az,WC:oz,Q:sz},_z=[`R128`,`R64`,`R32`,`R16`,`QF`,`SF`,`F`];function vz(e){let t=yz(e);if(t.length===0)return{drawSize:0,roundMatchUps:{}};let n=t[0].data,r=n.length,i=bz(n),a=xz(t,e),o={};o[1]=Cz(n,a,t);for(let e=1;e<t.length;e++)o[e+1]=wz(e,t,a,i);return{drawSize:r,roundMatchUps:o}}function yz(e){let t=[],n=!1;for(let r of _z){let i=e[r];i&&i.length>0&&(n=!0),n&&i&&i.length>0&&t.push({key:r,data:i})}return t}function bz(e){let t=new Map;return e.forEach((e,n)=>{let r=Tz(e.player);r&&r!==`BYE`&&t.set(r,{drawPosition:e.Draw??n+1,country:e.country,seed:e.seed,entry:e.entry})}),t}function xz(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=r+1<e.length?e[r+1].data:t.W||[],a=new Set;for(let e of i){let t=Tz(e.player);t&&a.add(t)}n.set(e[r].key,a)}return n}function Sz(e,t,n){if(e===`BYE`||t===`BYE`)return e===`BYE`?2:1;if(n.has(e))return 1;if(n.has(t))return 2}function Cz(e,t,n){let r=[],i=t.get(n[0].key)||new Set;for(let t=0;t<e.length;t+=2){let a=e[t],o=e[t+1],s=Tz(a?.player),c=Tz(o?.player),l=s===`BYE`||c===`BYE`,u=Sz(s,c,i),d;if(!l&&n.length>1){let e=n[1].data,t=u===1?s:c;d=e.find(e=>Tz(e.player)===t)?.score}let f=l?`BYE`:u?`COMPLETED`:`TO_BE_PLAYED`;r.push({roundNumber:1,matchUpStatus:f,winningSide:u,drawPositions:[a?.Draw??t+1,o?.Draw??t+2],competitiveness:jR({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[Dz(1,a,t+1),Dz(2,o,t+2)]})}return r}function wz(e,t,n,r){let i=e+1,a=t[e].data,o=n.get(t[e].key)||new Set,s=[];for(let e=0;e<a.length;e+=2){let t=a[e],n=a[e+1],c=Tz(t?.player),l=Tz(n?.player),u=o.has(c)?1:o.has(l)?2:void 0,d=(u===1?t:u===2?n:void 0)?.score,f=u?`COMPLETED`:`TO_BE_PLAYED`;s.push({roundNumber:i,matchUpStatus:f,winningSide:u,drawPositions:[r.get(c)?.drawPosition??0,r.get(l)?.drawPosition??0],competitiveness:jR({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[Oz(1,t,r),Oz(2,n,r)]})}return s}function Tz(e){if(!e)return``;let t=e.trim();return t.toUpperCase()===`BYE`?`BYE`:t}function Ez(e){if(e)return gz[e.toUpperCase()]||e}function Dz(e,t,n){if(!t)return{sideNumber:e,drawPosition:n};let r=Tz(t.player);return{sideNumber:e,drawPosition:t.Draw??n,participantName:r||void 0,nationalityCode:t.country||void 0,seedNumber:t.seed?Number(t.seed):void 0,entryStatus:Ez(t.entry)}}function Oz(e,t,n){if(!t)return{sideNumber:e,drawPosition:0};let r=Tz(t.player),i=n.get(r);return{sideNumber:e,drawPosition:i?.drawPosition??0,participantName:r||void 0,nationalityCode:t.country||i?.country||void 0,seedNumber:t.seed?Number(t.seed):i?.seed?Number(i.seed):void 0,entryStatus:Ez(t.entry||i?.entry)}}var kz=480,Az=200,jz=280,Mz={top:12,right:12,bottom:28,left:32},Nz={top:12,right:12,bottom:12,left:12},Pz=.6,Fz=.9,Iz=`http://www.w3.org/2000/svg`,Lz=`middle`,Rz=`text-anchor`,zz=`dominant-baseline`,Bz=[`var(--chc-rating-low, #5b8ff9)`,`var(--chc-rating-high, #00b894)`];function Vz(e,t,n){let r=document.createElementNS(Iz,`svg`);return r.setAttribute(`width`,String(e)),r.setAttribute(`height`,String(t)),r.setAttribute(`viewBox`,`0 0 ${e} ${t}`),r.setAttribute(`class`,`chc-rating-distribution-chart`),n&&r.setAttribute(`aria-label`,n),r}function Hz(e,t,n){return n<=1||t/(n-1)<.5?Bz[0]:Bz[1]}function Uz(e,t,n,r){return r?r(e,t):Hz(e,t,n)}function Wz(e){return`${e.binStart.toFixed(1)}–${e.binEnd.toFixed(1)}`}function Gz(e){let{stats:t,width:n,height:r,margin:i,showAxis:a,showCounts:o,showMean:s,binColor:c,ariaLabel:l}=e,u=Vz(n,r,l),d=GA(u).append(`g`).attr(`class`,`chc-rdc-histogram`).attr(`transform`,`translate(${i.left}, ${i.top})`),f=Math.max(0,n-i.left-i.right),p=Math.max(0,r-i.top-i.bottom);if(t.histogram.length===0||f===0||p===0)return u;let m=$P().domain(t.histogram.map(Wz)).range([0,f]).padding(.12),h=hF().domain([0,TO(t.histogram,e=>e.count)??0]).nice().range([p,0]),g=t.histogram.length;if(d.selectAll(`rect.chc-rdc-bar`).data(t.histogram).enter().append(`rect`).attr(`class`,`chc-rdc-bar`).attr(`x`,e=>m(Wz(e))??0).attr(`y`,e=>h(e.count)).attr(`width`,m.bandwidth()).attr(`height`,e=>p-h(e.count)).attr(`fill`,(e,t)=>Uz(e,t,g,c)).append(`title`).text(e=>`${Wz(e)}: ${e.count}`),o&&d.selectAll(`text.chc-rdc-count`).data(t.histogram).enter().append(`text`).attr(`class`,`chc-rdc-count`).attr(`x`,e=>(m(Wz(e))??0)+m.bandwidth()/2).attr(`y`,e=>h(e.count)-4).attr(Rz,Lz).attr(`font-size`,`11`).attr(`fill`,`var(--chc-rdc-count-color, var(--chc-text-primary, #111827))`).text(e=>e.count>0?String(e.count):``),a){let e=t.histogram.map(Wz),n=f/g>=55?e:[e[0],e.at(-1)].filter((e,t,n)=>n.indexOf(e)===t);d.append(`g`).attr(`class`,`chc-rdc-axis`).attr(`transform`,`translate(0, ${p})`).call(zO(m).tickValues(n).tickSize(0)).call(e=>e.select(`.domain`).remove()).call(e=>e.selectAll(`text`).attr(`font-size`,`10`).attr(`dy`,`0.9em`))}if(s&&Number.isFinite(t.mean)&&t.histogram.length>0){let e=t.histogram[0],n=t.histogram.at(-1),r=(t.mean-e.binStart)/(n.binEnd-e.binStart);if(r>=0&&r<=1){let e=r*f;d.append(`line`).attr(`class`,`chc-rdc-mean`).attr(`x1`,e).attr(`x2`,e).attr(`y1`,0).attr(`y2`,p).attr(`stroke`,`var(--chc-rating-mean, #d63031)`).attr(`stroke-dasharray`,`4 3`).attr(`stroke-width`,1.5)}}return u}function Kz(e,t,n,r){return[e+n*Math.sin(r),t-n*Math.cos(r)]}function qz(e,t,n,r,i,a){let[o,s]=Kz(e,t,n,i),[c,l]=Kz(e,t,n,a),[u,d]=Kz(e,t,r,a),[f,p]=Kz(e,t,r,i),m=+(a-i>Math.PI);return[`M ${o} ${s}`,`A ${n} ${n} 0 ${m} 1 ${c} ${l}`,`L ${u} ${d}`,`A ${r} ${r} 0 ${m} 0 ${f} ${p}`,`Z`].join(` `)}function Jz(e){let{stats:t,size:n,margin:r,showCounts:i,binColor:a,ariaLabel:o}=e,s=Vz(n,n,o);if(t.histogram.length===0||t.count===0)return s;let c=(n-Math.max(r.left+r.right,r.top+r.bottom))/2,l=n/2,u=n/2,d=c*Fz,f=c*Pz,p=0,m=t.histogram.length;for(let e=0;e<m;e++){let n=t.histogram[e];if(n.count===0)continue;let r=n.count/t.count*2*Math.PI,o=p,c=p+r,h=document.createElementNS(Iz,`path`);if(h.setAttribute(`class`,`chc-rdc-slice`),h.setAttribute(`d`,qz(l,u,d,f,o,c)),h.setAttribute(`fill`,Uz(n,e,m,a)),s.appendChild(h),i){let e=o+r/2,[t,i]=Kz(l,u,(d+f)/2,e),a=document.createElementNS(Iz,`text`);a.setAttribute(`class`,`chc-rdc-slice-label`),a.setAttribute(`x`,String(t)),a.setAttribute(`y`,String(i)),a.setAttribute(Rz,Lz),a.setAttribute(zz,Lz),a.setAttribute(`font-size`,`11`),a.setAttribute(`fill`,`var(--chc-rating-label, #2d3436)`),a.textContent=String(n.count),s.appendChild(a)}p=c}let h=document.createElementNS(Iz,`text`);return h.setAttribute(`class`,`chc-rdc-center-count`),h.setAttribute(`x`,String(l)),h.setAttribute(`y`,String(u)),h.setAttribute(Rz,Lz),h.setAttribute(zz,Lz),h.setAttribute(`font-size`,`20`),h.setAttribute(`font-weight`,`600`),h.textContent=String(t.count),s.appendChild(h),s}function Yz(e,t={}){let n=t.mode??`HISTOGRAM`,r=t.ariaLabel??`Participant rating distribution`;return n===`DONUT`?Jz({stats:e,size:t.width??t.height??jz,margin:t.margin??Nz,showCounts:t.showCounts??!0,binColor:t.binColor,ariaLabel:r}):Gz({stats:e,width:t.width??kz,height:t.height??Az,margin:t.margin??Mz,showAxis:t.showAxis??!0,showCounts:t.showCounts??!0,showMean:t.showMean??!0,binColor:t.binColor,ariaLabel:r})}var Xz=`http://www.w3.org/2000/svg`,Zz={top:36,right:16,bottom:28,left:56},Qz=600,$z=260,eB=6,tB=8;function nB(e,t){let n=document.createElementNS(Xz,`svg`);n.classList.add(`lc-svg`),e.appendChild(n);let r={container:e,svg:n,config:{...t},destroyed:!1};return rB(r),{element:n,update(e){r.destroyed||(r.config={...r.config,...e},rB(r))},destroy(){r.destroyed||(r.destroyed=!0,n.parentNode===e&&e.removeChild(n))}}}function rB(e){let{svg:t,container:n,config:r}=e,i={...Zz,...r.margins||{}},a=n.clientWidth||Qz,o=r.width??a,s=r.height??$z;for(;t.firstChild;)t.removeChild(t.firstChild);t.setAttribute(`width`,String(o)),t.setAttribute(`height`,String(s)),t.setAttribute(`viewBox`,`0 0 ${o} ${s}`);let c=Math.max(0,o-i.left-i.right),l=Math.max(0,s-i.top-i.bottom),u=(r.data||[]).map(e=>({...e,_dateValue:e.date instanceof Date?e.date:new Date(e.date),_rung:Math.max(0,Math.min(r.rungs.length-1,e.rung))})).filter(e=>!Number.isNaN(e._dateValue.getTime())).sort((e,t)=>e._dateValue.getTime()-t._dateValue.getTime());if(r.title){let e=document.createElementNS(Xz,`text`);e.setAttribute(`class`,`lc-title`),e.setAttribute(`x`,String(i.left)),e.setAttribute(`y`,String(Math.max(16,i.top-12))),e.textContent=r.title,t.appendChild(e)}if(!u.length){let e=document.createElementNS(Xz,`text`);e.setAttribute(`class`,`lc-empty`),e.setAttribute(`x`,String(o/2)),e.setAttribute(`y`,String(s/2)),e.setAttribute(`text-anchor`,`middle`),e.textContent=`No data`,t.appendChild(e);return}let d=fO(u,e=>e._dateValue),f=Math.max(3,(d[1].getTime()-d[0].getTime())/864e5*.04),p=new Date(d[0].getTime()-f*864e5),m=new Date(d[1].getTime()+f*864e5),h=NL().domain([p,m]).range([0,c]),g=tF().domain([...r.rungs].reverse()).range([0,l]).padding(.5),_=document.createElementNS(Xz,`g`);_.setAttribute(`transform`,`translate(${i.left},${i.top})`),t.appendChild(_);let v=document.createElementNS(Xz,`g`);v.setAttribute(`class`,`lc-axis lc-axis-y`),_.appendChild(v),GA(v).call(BO(g).tickSize(-c).tickPadding(8));let y=document.createElementNS(Xz,`g`);y.setAttribute(`class`,`lc-axis lc-axis-x`),y.setAttribute(`transform`,`translate(0,${l})`),_.appendChild(y);let b=d[1].getFullYear()-d[0].getFullYear()>=1?`%Y`:`%b`,x=r.xTickFormat??b;if(GA(y).call(zO(h).ticks(r.xMaxTicks??tB).tickFormat(OL(x))),r.showConnector!==!1&&u.length>1){let e=sR().x(e=>h(e._dateValue)).y(e=>g(r.rungs[e._rung])??0).curve(gR),t=document.createElementNS(Xz,`path`);t.setAttribute(`class`,`lc-connector`),t.setAttribute(`d`,e(u)||``),r.connectorColor&&(t.style.stroke=r.connectorColor),_.appendChild(t)}let S=document.createElementNS(Xz,`g`);S.setAttribute(`class`,`lc-marks`),_.appendChild(S);for(let e of u){let t=h(e._dateValue),n=g(r.rungs[e._rung])??0,i=e.radius??r.markRadius??eB,a=document.createElementNS(Xz,`circle`);if(a.setAttribute(`class`,`lc-mark`),a.setAttribute(`cx`,String(t)),a.setAttribute(`cy`,String(n)),a.setAttribute(`r`,String(i)),(e.color||r.markColor)&&(a.style.fill=e.color??r.markColor),e.label){let t=[e.label,e.detail].filter(Boolean).join(` — `);a.setAttribute(`aria-label`,t);let n=document.createElementNS(Xz,`title`);n.textContent=t,a.appendChild(n)}r.onMarkClick&&(a.style.cursor=`pointer`,a.addEventListener(`click`,t=>r.onMarkClick(e,t))),r.onMarkHover&&(a.addEventListener(`mouseenter`,t=>r.onMarkHover(e,t)),a.addEventListener(`mouseleave`,e=>r.onMarkHover(null,e))),S.appendChild(a)}if(r.source){let e=document.createElementNS(Xz,`text`);e.setAttribute(`class`,`lc-source`),e.setAttribute(`x`,String(o-i.right)),e.setAttribute(`y`,String(s-6)),e.setAttribute(`text-anchor`,`end`),e.textContent=`Source: ${r.source}`,t.appendChild(e)}}var iB=`http://www.w3.org/2000/svg`,aB=`text-anchor`,oB=`dominant-baseline`,sB=`class`,cB=`middle`,lB=520,uB=240,dB={top:16,right:64,bottom:28,left:44},fB=5,pB=3;function mB(e,t,n){let r=n-t;if(n>=3){if(r===1)return`F`;if(r===2)return`SF`;if(r===3)return`QF`}return`R${t+1}`}function hB(e,t){let n=document.createElementNS(iB,e);return t&&n.setAttribute(sB,t),n}function gB(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function _B(e,t){if(t)return t;let n=[];for(let t of e)for(let e of[t.projected.expected,t.projected.low,t.projected.high,t.actual])e!=null&&n.push(e);if(!n.length)return[-100,100];let r=Math.max(Math.abs(Math.min(...n)),Math.abs(Math.max(...n)),50)*1.15;return[-r,r]}function vB(e,t){let n=t.width??lB,r=t.height??uB,i=t.margin??(t.spark?{top:6,right:6,bottom:6,left:6}:dB),a=Math.max(1,n-i.left-i.right),o=Math.max(1,r-i.top-i.bottom),s=hF().domain([0,Math.max(1,e.length-1)]).range([0,a]),c=_B(e,t.yDomain),l=hF().domain(c).range([o,0]);return{x:e=>s(e),y:e=>l(e),yDomain:c,innerWidth:a,innerHeight:o,margin:i}}function yB(e,t,n){let r=t.map((e,t)=>({point:e,index:t})).filter(({point:e})=>e.projected.low!==null&&e.projected.high!==null);if(r.length<2)return;let i=cR().x(({index:e})=>n.x(e)).y0(({point:e})=>n.y(e.projected.low)).y1(({point:e})=>n.y(e.projected.high)),a=hB(`path`,`chc-pc__band`);a.setAttribute(`d`,i(r)??``),e.appendChild(a)}function bB({group:e,points:t,geometry:n,className:r,accessor:i}){let a=t.map((e,t)=>({point:e,index:t})).filter(({point:e})=>i(e)!==null);if(a.length<2)return;let o=sR().x(({index:e})=>n.x(e)).y(({point:e})=>n.y(i(e))),s=hB(`path`,r);s.setAttribute(`d`,o(a)??``),e.appendChild(s)}function xB(e){return MR(e)}function SB({group:e,points:t,geometry:n,radius:r,onHover:i}){t.forEach((t,a)=>{if(t.actual===null)return;let o=hB(`circle`,t.won===!1?`chc-pc__marker chc-pc__marker--lost`:`chc-pc__marker`);o.setAttribute(`cx`,String(n.x(a))),o.setAttribute(`cy`,String(n.y(t.actual))),o.setAttribute(`r`,String(r)),o.setAttribute(`fill`,xB(t.competitiveness));let s=document.createElementNS(iB,`title`);s.textContent=`Round ${t.roundNumber}: ${gB(t.actual)} · ${t.competitiveness??`unclassified`}`,o.appendChild(s),i&&(o.addEventListener(`mouseenter`,e=>i(t,a,e)),o.addEventListener(`mousemove`,e=>i(t,a,e))),e.appendChild(o)})}function CB({group:e,geometry:t}){let[n,r]=t.yDomain,i=wB(Math.max(Math.abs(n),Math.abs(r)));for(let a of[-i,i]){if(a<n||a>r)continue;let i=hB(`line`,`chc-pc__tick`);i.setAttribute(`x1`,`0`),i.setAttribute(`x2`,String(t.innerWidth)),i.setAttribute(`y1`,String(t.y(a))),i.setAttribute(`y2`,String(t.y(a))),e.appendChild(i);let o=hB(`text`,`chc-pc__tick-label`);o.setAttribute(`x`,`-6`),o.setAttribute(`y`,String(t.y(a))),o.setAttribute(aB,`end`),o.setAttribute(oB,cB),o.textContent=gB(a),e.appendChild(o)}}function wB(e){if(!Number.isFinite(e)||e<=0)return 1;let t=e/2,n=10**Math.floor(Math.log10(t)),r=t/n;return(r>=5&&5||r>=2&&2||1)*n}function TB({group:e,points:t,geometry:n,options:r}){let i=hB(`line`,`chc-pc__zero`);if(i.setAttribute(`x1`,`0`),i.setAttribute(`x2`,String(n.innerWidth)),i.setAttribute(`y1`,String(n.y(0))),i.setAttribute(`y2`,String(n.y(0))),e.appendChild(i),r.spark)return;CB({group:e,geometry:n});let a=hB(`text`,`chc-pc__axis-label`);a.setAttribute(`x`,String(n.innerWidth+6)),a.setAttribute(`y`,String(n.y(0))),a.setAttribute(oB,cB),a.textContent=`even`,e.appendChild(a);let o=r.roundLabels??mB;t.forEach((r,i)=>{let a=hB(`text`,`chc-pc__round-label`);if(a.setAttribute(`x`,String(n.x(i))),a.setAttribute(`y`,String(n.innerHeight+16)),a.setAttribute(aB,cB),a.textContent=o(r.roundNumber,i,t.length),e.appendChild(a),r.bye){let t=hB(`text`,`chc-pc__bye`);t.setAttribute(`x`,String(n.x(i))),t.setAttribute(`y`,String(n.y(0)-8)),t.setAttribute(aB,cB),t.textContent=`bye`,e.appendChild(t)}});let s=hB(`text`,`chc-pc__axis-label`);s.setAttribute(`x`,`0`),s.setAttribute(`y`,`-4`),s.textContent=r.scaleName?`opponent strength vs own (${r.scaleName}, ELO-equivalent)`:`opponent strength vs own`,e.appendChild(s)}function EB({group:e,points:t,geometry:n}){let r=[...t].reverse().find(e=>e.projected.expected!==null),i=[...t].reverse().find(e=>e.actual!==null);if(r){let i=t.indexOf(r),a=hB(`text`,`chc-pc__series-label`);a.setAttribute(`x`,String(n.x(i)+8)),a.setAttribute(`y`,String(n.y(r.projected.expected))),a.setAttribute(oB,cB),a.setAttribute(`fill`,`var(--chc-pc-projected)`),a.textContent=`projected`,e.appendChild(a)}if(i){let r=t.indexOf(i),a=r<t.length-1,o=hB(`text`,`chc-pc__series-label`);o.setAttribute(`x`,String(n.x(r)+8)),o.setAttribute(`y`,String(n.y(i.actual)+(a?-12:0))),o.setAttribute(oB,cB),o.textContent=`actual`,e.appendChild(o)}}function DB(){let e=document.createElement(`div`);e.className=`chc-pc__legend`;for(let[t,n]of[[`chc-pc__legend-swatch chc-pc__legend-swatch--band`,`possible opponents`],[`chc-pc__legend-swatch chc-pc__legend-swatch--projected`,`projected`],[`chc-pc__legend-swatch chc-pc__legend-swatch--line`,`actual`]]){let r=document.createElement(`span`);r.className=`chc-pc__legend-item`;let i=document.createElement(`span`);i.className=t,r.append(i,document.createTextNode(n)),e.appendChild(r)}for(let t of[`COMPETITIVE`,`ROUTINE`,`DECISIVE`]){let n=document.createElement(`span`);n.className=`chc-pc__legend-item`;let r=document.createElement(`span`);r.className=`chc-pc__legend-swatch`,r.style.background=MR(t),n.append(r,document.createTextNode(t.toLowerCase())),e.appendChild(n)}return e}function OB(){let e=document.createElement(`div`);return e.className=`chc-pc__tooltip`,e.dataset.visible=`false`,e}function kB(e,t){let n=document.createElement(`div`);n.className=`chc-pc__tooltip-row`;let r=document.createElement(`span`);r.textContent=e;let i=document.createElement(`span`);return i.textContent=t,n.append(r,i),n}function AB(e,t){e.replaceChildren();let n=document.createElement(`div`);n.className=`chc-pc__tooltip-title`,n.textContent=`Round ${t.roundNumber}`,e.appendChild(n),t.actual!==null&&e.appendChild(kB(`faced`,gB(t.actual))),t.competitiveness&&e.appendChild(kB(`scoreline`,t.competitiveness.toLowerCase())),t.won!==void 0&&e.appendChild(kB(`result`,t.won?`won`:`lost`)),t.projected.expected!==null&&e.appendChild(kB(`projected`,gB(t.projected.expected))),t.projected.low!==null&&t.projected.high!==null&&e.appendChild(kB(`range`,`${gB(t.projected.low)} … ${gB(t.projected.high)}`)),e.appendChild(kB(`reach`,`${Math.round(t.reachProbability*100)}%`))}function jB(e){let t=document.createElement(`div`);return t.className=`chc-pc__empty`,t.textContent=e,t}function MB(e,t,n={}){let r=document.createElement(`div`);r.className=`chc-pc`,e.appendChild(r);let i=OB();function a(e,t){r.replaceChildren();let n=e?.points??[];if(!e||!n.length||!e.rating){r.appendChild(jB(t.emptyMessage??`No rating data for this draw, so no pressure to plot.`));return}let a=t.width??lB,o=t.height??uB,s=vB(n,t),c=hB(`svg`,`chc-pc__svg`);c.setAttribute(`width`,String(a)),c.setAttribute(`height`,String(o)),c.setAttribute(`viewBox`,`0 0 ${a} ${o}`),c.setAttribute(`role`,`img`),c.setAttribute(`aria-label`,t.ariaLabel??`Projected and actual opponent difficulty by round for ${e.participantName??e.participantId}`);let l=hB(`g`);l.setAttribute(`transform`,`translate(${s.margin.left}, ${s.margin.top})`),c.appendChild(l),yB(l,n,s),TB({group:l,points:n,geometry:s,options:t}),bB({group:l,points:n,geometry:s,className:`chc-pc__projected-line`,accessor:e=>e.projected.expected}),bB({group:l,points:n,geometry:s,className:`chc-pc__actual-line`,accessor:e=>e.actual}),SB({group:l,points:n,geometry:s,radius:t.spark?pB:fB,onHover:t.spark?void 0:(e,t,n)=>{AB(i,e),i.dataset.visible=`true`,i.style.left=`${n.offsetX+12}px`,i.style.top=`${n.offsetY+12}px`}}),t.spark||EB({group:l,points:n,geometry:s}),r.appendChild(c),t.spark||(r.appendChild(i),t.showLegend!==!1&&r.appendChild(DB()),r.addEventListener(`mouseleave`,()=>{i.dataset.visible=`false`}))}return a(t,n),{element:r,update:(e,t)=>a(e,{...n,...t}),destroy:()=>{GA(r).remove()}}}var NB={NO_MATCHUPS:`NO_MATCHUPS`,NOT_ELIMINATION:`NOT_ELIMINATION`,NO_RATINGS:`NO_RATINGS`};function PB(e){return{participantId:e?.participant?.participantId??e?.participantId,participant:e?.participant,drawPosition:e?.drawPosition,bye:!!e?.bye}}function FB(e){let t=e?.roundNumber,n=e?.roundPosition;if(typeof t!=`number`||typeof n!=`number`)return null;let r=Array.isArray(e.sides)?e.sides:[],i=r.find(e=>e?.sideNumber===1)??r[0],a=r.find(e=>e?.sideNumber===2)??r[1];return{matchUpId:e.matchUpId,roundNumber:t,roundPosition:n,sides:[PB(i),PB(a)],winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,raw:e}}function IB(e){if(!Array.isArray(e)||!e.length)return{unsupported:NB.NO_MATCHUPS};let t=new Map;for(let n of e){let e=FB(n);if(!e)continue;let r=t.get(e.roundNumber)??new Map;r.set(e.roundPosition,e),t.set(e.roundNumber,r)}let n=[...t.keys()].toSorted((e,t)=>e-t);if(!n.length)return{unsupported:NB.NOT_ELIMINATION};let r=n[0];for(let e=1;e<n.length;e+=1){let r=t.get(n[e-1])?.size??0,i=t.get(n[e])?.size??0;if(n[e]!==n[e-1]+1||i*2!==r)return{unsupported:NB.NOT_ELIMINATION}}return n.length===1&&(t.get(r)?.size??0)>1?{unsupported:NB.NOT_ELIMINATION}:{graph:{roundNumbers:n,byRound:t,firstRound:r}}}function LB(e){return[e*2-1,e*2]}function RB(e){return e.matchUpStatus===`BYE`||e.sides.some(e=>e.bye)}var{ELO:zB}=t.ratingConstants,BB=`SINGLES`,VB=`DOUBLES`;function HB(){return t.fixtures?.ratingsParameters??{}}function UB({value:e,sourceRange:t,targetRange:n}){if(!Array.isArray(t)||t.length!==2||!Array.isArray(n)||n.length!==2)return 0;let r=Math.min(...t),i=Math.max(...t),a=Math.min(...n),o=Math.max(...n);return i===r?a:(e-r)*(o-a)/(i-r)+a}function WB({scaleName:e,value:t}){if(typeof t!=`number`||Number.isNaN(t))return;if(e===zB)return t;let n=e?HB()[e]?.range:void 0;if(!n)return;let r=HB()[zB]?.range;if(r)return UB({value:n[0]>n[1]?n[0]-t:t,sourceRange:n,targetRange:r})}function GB(e){if(typeof e==`number`)return Number.isNaN(e)?void 0:e;if(typeof e!=`string`||!e.trim())return;let t=Number.parseFloat(e);return Number.isNaN(t)?void 0:t}function KB(e,t){let n=GB(t);if(n!==void 0)return n;if(!t||typeof t!=`object`)return;let r=HB()[e],i=[r?.accessor,...r?.accessors??[]].filter(Boolean);for(let e of i){let n=GB(t[e]);if(n!==void 0)return n}}function qB({participant:e,matchUpType:t,preferredScaleName:n}){let r=t===VB?VB:BB,i=e?.ratings?.[r];if(!Array.isArray(i)||!i.length)return null;let a=(n&&i.find(e=>e?.scaleName===n))??i.find(e=>typeof e?.scaleName==`string`);if(!a?.scaleName)return null;let o=KB(a.scaleName,a.scaleValue);if(o===void 0)return null;let s=WB({scaleName:a.scaleName,value:o});return s===void 0?null:{elo:s,scaleName:a.scaleName,sourceValue:o}}function JB(e){let t=new Map;for(let n of e)n&&t.set(n.scaleName,(t.get(n.scaleName)??0)+1);if(t.size)return[...t.entries()].toSorted((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0],`en`))[0][0]}function YB(e,t,n){let r=n?.divisor??400;return r?1/(1+10**((t-e)/r)):.5}function XB(e,t,n){return e===null||t===null?.5:YB(e,t,n)}function ZB(e){return e.sides.map(e=>e.bye?void 0:e.participantId)}function QB(e,t){let n=new Map,[r,i]=ZB(e);if(t.respectResults&&e.winningSide){let t=ZB(e)[e.winningSide-1];return t&&n.set(t,1),n}if(r&&!i)n.set(r,1);else if(i&&!r)n.set(i,1);else if(r&&i){let e=XB(t.eloOf.get(r)??null,t.eloOf.get(i)??null,t.model);n.set(r,e),n.set(i,1-e)}return n}function $B(e,t,n){if(!t.size)return 1;let r=0;for(let[i,a]of t)r+=a*XB(n.eloOf.get(e)??null,n.eloOf.get(i)??null,n.model);return r}function eV(e,t,n){let r=new Map;if(!e.size)return new Map(t);if(!t.size)return new Map(e);for(let[i,a]of e)r.set(i,a*$B(i,t,n));for(let[i,a]of t)r.set(i,a*$B(i,e,n));return r}function tV(e,t,n){if(n.respectResults&&e.winningSide){let t=ZB(e)[e.winningSide-1];if(t)return new Map([[t,1]])}return eV(t[0],t[1],n)}function nV(e,t){let n=new Map;for(let r of e.roundNumbers){let i=e.byRound.get(r),a=new Map;if(i){for(let[o,s]of i){if(r===e.firstRound){a.set(o,QB(s,t));continue}let i=n.get(r-1),[c,l]=LB(o),u=[i?.get(c)??new Map,i?.get(l)??new Map];a.set(o,tV(s,u,t))}n.set(r,a)}}return n}function rV({opponents:e,context:t,names:n,rangeThreshold:r}){let i=0,a=0,o=[],s=[];for(let[c,l]of e){let e=t.eloOf.get(c)??null;s.push({participantId:c,participantName:n.get(c),probability:l,elo:e}),e!==null&&(i+=l,a+=l*e,l>=r&&o.push(e))}return{expectedOpponentElo:i?a/i:null,opponentEloRange:o.length?[Math.min(...o),Math.max(...o)]:null,possibleOpponentCount:e.size,possibleOpponents:s.toSorted((e,t)=>t.probability-e.probability||e.participantId.localeCompare(t.participantId,`en`))}}function iV({graph:e,winners:t,roundNumber:n,feederPosition:r}){if(n===e.firstRound)return new Map;let i=r%2==1?r+1:r-1;return t.get(n-1)?.get(i)??new Map}function aV(e,t){let n=new Map;for(let r of e.sides)!r.bye&&r.participantId&&r.participantId!==t&&n.set(r.participantId,1);return n}function oV({participantId:e,entryMatchUp:t,graph:n,winners:r,context:i,ratings:a,names:o,rangeThreshold:s}){let c=a.get(e)??null,l=[],u=t.roundPosition,d=u,f=1;for(let t of n.roundNumbers){let a=n.byRound.get(t)?.get(u),p=t===n.firstRound&&!!a&&RB(a),m=rV({opponents:t===n.firstRound&&a?aV(a,e):iV({graph:n,winners:r,roundNumber:t,feederPosition:d}),context:i,names:o,rangeThreshold:s}),h=m.expectedOpponentElo!==null&&c?m.expectedOpponentElo-c.elo:null;l.push({roundNumber:t,reachProbability:f,expectedSignedDelta:h,resolved:m.possibleOpponentCount===1,bye:p,...m}),f=r.get(t)?.get(u)?.get(e)??0,d=u,u=Math.ceil(u/2)}return{participantId:e,participantName:t.sides.find(t=>t.participantId===e)?.participant?.participantName,drawPosition:t.sides.find(t=>t.participantId===e)?.drawPosition,rating:c,rounds:l,pathDifficulty:sV(l),slotDifficulty:cV(l),expectedMatchesPlayed:l.reduce((e,t)=>e+(t.bye?0:t.reachProbability),0)}}function sV(e){let t=0,n=0;for(let r of e)r.bye||r.expectedSignedDelta===null||(t+=r.reachProbability,n+=r.reachProbability*r.expectedSignedDelta);return t?n/t:null}function cV(e){let t=e.filter(e=>!e.bye&&e.expectedSignedDelta!==null).map(e=>e.expectedSignedDelta);return t.length?t.reduce((e,t)=>e+t,0)/t.length:null}function lV(e){let t=new Map,n=e.byRound.get(e.firstRound);if(!n)return t;for(let e of n.values())for(let n of e.sides)!n.bye&&n.participantId&&t.set(n.participantId,e);return t}function uV(e){let{graph:t,unsupported:n}=IB(e.matchUps);if(!t)return{projections:[],unsupported:n,unratedCount:0};let r=lV(t);if(!r.size)return{projections:[],unsupported:NB.NO_MATCHUPS,unratedCount:0};let i=new Map,a=new Map,o=new Map;for(let[t,n]of r){let r=n.sides.find(e=>e.participantId===t),s=qB({participant:r?.participant,matchUpType:e.matchUpType,preferredScaleName:e.scaleName});i.set(t,s),a.set(t,s?.elo??null),o.set(t,r?.participant?.participantName)}let s=[...i.values()].filter(e=>!e).length;if(s===i.size)return{projections:[],unsupported:NB.NO_RATINGS,unratedCount:s};let c={eloOf:a,model:e.model,respectResults:!!e.respectResults},l=nV(t,c),u=e.rangeThreshold??.01;return{projections:[...r.entries()].map(([e,n])=>oV({participantId:e,entryMatchUp:n,graph:t,winners:l,context:c,ratings:i,names:o,rangeThreshold:u})).toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0)),scaleName:JB([...i.values()]),unratedCount:s}}function dV(e){return e.raw?.competitiveProfile?.competitiveness||jR({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.raw?.score?.sets,scoreString:e.raw?.score?.scoreStringSide1})}function fV(e,t){return qB({participant:e?.participant,matchUpType:t.matchUpType,preferredScaleName:t.scaleName})}function pV({matchUp:e,participantId:t,ownElo:n,params:r}){let i=e.sides.findIndex(e=>e.participantId===t),a=e.sides[1-i],o=RB(e),s=!!e.winningSide,c=(o||!s?null:fV(a,r))?.elo??null;return{roundNumber:e.roundNumber,matchUpId:e.matchUpId,opponentParticipantId:o?void 0:a?.participantId,opponentParticipantName:o?void 0:a?.participant?.participantName,opponentElo:c,signedDelta:c!==null&&n!==null?c-n:null,competitiveness:o||!s?void 0:dV(e),won:s?e.winningSide===i+1:void 0,bye:o}}function mV(e){let{graph:t}=IB(e.matchUps);if(!t)return[];let n=new Map,r=new Map;for(let i of t.byRound.values())for(let t of i.values())for(let i of t.sides){if(i.bye||!i.participantId)continue;let a=n.get(i.participantId)??[];a.push(t),n.set(i.participantId,a),r.has(i.participantId)||r.set(i.participantId,fV(i,e))}return[...n.entries()].map(([t,n])=>{let i=r.get(t)??null,a=n.toSorted((e,t)=>e.roundNumber-t.roundNumber).map(n=>pV({matchUp:n,participantId:t,ownElo:i?.elo??null,params:e})),o=a.filter(e=>!e.bye&&e.signedDelta!==null);return{participantId:t,rating:i,rounds:a,facedDifficulty:o.length?o.reduce((e,t)=>e+t.signedDelta,0)/o.length:null,matchesPlayed:a.filter(e=>!e.bye&&e.won!==void 0).length}})}function hV(e){let t=uV(e);if(!t.projections.length)return{series:[],projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount};let n=new Map(mV({matchUps:e.matchUps,matchUpType:e.matchUpType,scaleName:e.scaleName}).map(e=>[e.participantId,e]));return{series:t.projections.map(e=>{let t=n.get(e.participantId),r=new Map((t?.rounds??[]).map(e=>[e.roundNumber,e])),i=e.rating?.elo??null,a=e.rounds.map(e=>{let t=r.get(e.roundNumber),n=e.opponentEloRange;return{roundNumber:e.roundNumber,projected:{expected:e.expectedSignedDelta,low:n&&i!==null?n[0]-i:null,high:n&&i!==null?n[1]-i:null},reachProbability:e.reachProbability,actual:t?.signedDelta??null,competitiveness:t?.competitiveness,won:t?.won,bye:e.bye||!!t?.bye,resolved:e.resolved}});return{participantId:e.participantId,participantName:e.participantName,drawPosition:e.drawPosition,rating:e.rating,pathDifficulty:e.pathDifficulty,slotDifficulty:e.slotDifficulty,facedDifficulty:t?.facedDifficulty??null,points:a}}),projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount}}function gV(e){return e.toSorted((e,t)=>e.slotDifficulty===null&&t.slotDifficulty===null?(e.participantName??``).localeCompare(t.participantName??``,`en`,{numeric:!0}):e.slotDifficulty===null?1:t.slotDifficulty===null?-1:t.slotDifficulty-e.slotDifficulty)}var _V=150,vV=64;function yV(e){return _B(e.flatMap(e=>e.points))}function bV({series:e,options:t,chartOptions:n}){let r=document.createElement(`div`);r.className=`chc-psm__cell`,r.dataset.participantId=e.participantId;let i=document.createElement(`div`);return i.className=`chc-psm__label`,i.textContent=e.participantName??e.participantId,i.title=i.textContent,r.appendChild(i),MB(r,e,n),t.onSelect&&(r.classList.add(`is-clickable`),r.setAttribute(`role`,`button`),r.tabIndex=0,r.addEventListener(`click`,()=>t.onSelect?.(e)),r.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t.onSelect?.(e))})),r}function xV(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-psm`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=gV(e).filter(e=>e.rating);if(!n.length){let e=document.createElement(`div`);e.className=`chc-pc__empty`,e.textContent=t.emptyMessage??`No rating data for this draw, so no pressure to plot.`,r.appendChild(e);return}let i=yV(n),a=document.createElement(`div`);a.className=`chc-psm__grid`;let o=t.limit?n.slice(0,t.limit):n;for(let e of o)a.appendChild(bV({series:e,options:t,chartOptions:{spark:!0,yDomain:i,width:t.cellWidth??_V,height:t.cellHeight??vV,scaleName:t.scaleName}}));r.appendChild(a);let s=document.createElement(`div`);s.className=`chc-psm__caption`;let c=e.length-n.length,l=[`hardest slot first · shared scale`];o.length<n.length&&l.push(`${n.length-o.length} of ${n.length} not shown`),c>0&&l.push(`${c} unrated omitted`),s.textContent=l.join(` · `),r.appendChild(s)}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t})}}var SV=22,CV=460,wV=132,TV=3;function EV(e){if(e===null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function DV({series:e,options:t,scale:n,midpoint:r,barWidth:i}){let a=document.createElement(`div`);a.className=`chc-pdb__row`,a.dataset.participantId=e.participantId,a.style.height=`${t.rowHeight??SV}px`;let o=document.createElement(`span`);o.className=`chc-pdb__label`,o.style.width=`${t.labelWidth??wV}px`,o.textContent=e.participantName??e.participantId,o.title=o.textContent;let s=document.createElement(`span`);s.className=`chc-pdb__track`,s.style.width=`${i}px`;let c=document.createElement(`span`);if(c.className=`chc-pdb__zero`,c.style.left=`${r}px`,s.appendChild(c),e.slotDifficulty!==null){let t=n(e.slotDifficulty),i=document.createElement(`span`);i.className=e.slotDifficulty>=0?`chc-pdb__bar chc-pdb__bar--up`:`chc-pdb__bar chc-pdb__bar--down`,i.style.left=`${Math.min(r,t)}px`,i.style.width=`${Math.abs(t-r)}px`,i.style.borderRadius=e.slotDifficulty>=0?`0 ${TV}px ${TV}px 0`:`${TV}px 0 0 ${TV}px`,s.appendChild(i)}if(t.showActual&&e.facedDifficulty!==null){let t=document.createElement(`span`);t.className=`chc-pdb__actual`,t.style.left=`${n(e.facedDifficulty)}px`,t.title=`faced so far ${EV(e.facedDifficulty)}`,s.appendChild(t)}let l=document.createElement(`span`);return l.className=`chc-pdb__value`,l.textContent=EV(e.slotDifficulty),a.append(o,s,l),t.onSelect&&(a.classList.add(`is-clickable`),a.setAttribute(`role`,`button`),a.tabIndex=0,a.addEventListener(`click`,()=>t.onSelect?.(e)),a.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t.onSelect?.(e))})),a}function OV(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-pdb`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=gV(e);if(!n.length){let e=document.createElement(`div`);e.className=`chc-pc__empty`,e.textContent=t.emptyMessage??`No rating data for this draw, so no path difficulty to rank.`,r.appendChild(e);return}let i=t.width??CV,a=t.labelWidth??wV,o=Math.max(40,i-a-52),s=o/2,c=n.flatMap(e=>[e.slotDifficulty,t.showActual?e.facedDifficulty:null]).filter(e=>e!==null),l=Math.max(...c.map(e=>Math.abs(e)),1),u=e=>s+e/l*(s-4),d=t.limit?n.slice(0,t.limit):n;for(let e of d)r.appendChild(DV({series:e,options:t,scale:u,midpoint:s,barWidth:o}));let f=document.createElement(`div`);f.className=`chc-pdb__caption`;let p=n.filter(e=>e.slotDifficulty===null).length,m=[`hardest slot first`];d.length<n.length&&m.push(`${n.length-d.length} of ${n.length} not shown`),p&&m.push(`${p} unrated`),f.textContent=m.join(` · `),r.appendChild(f)}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t})}}var kV=[`Round`,`Projected`,`Range`,`Reach`,`Faced`,`Scoreline`,`Result`];function AV(e){if(e==null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function jV(e){return e.points.map(e=>{let t=e.projected.low!==null&&e.projected.high!==null?`${AV(e.projected.low)} … ${AV(e.projected.high)}`:`—`,n=`—`;return e.bye?n=`bye`:e.won!==void 0&&(n=e.won?`won`:`lost`),[`R${e.roundNumber}`,AV(e.projected.expected),t,`${Math.round(e.reachProbability*100)}%`,AV(e.actual),e.competitiveness?e.competitiveness.toLowerCase():`—`,n]})}function MV(e,t){let n=document.createElement(`table`);n.className=`chc-pc__table`;let r=document.createElement(`caption`);r.textContent=`Projected and actual opponent difficulty by round — ${t.participantName??t.participantId}`,n.appendChild(r);let i=document.createElement(`thead`),a=document.createElement(`tr`);for(let e of kV){let t=document.createElement(`th`);t.scope=`col`,t.textContent=e,a.appendChild(t)}i.appendChild(a),n.appendChild(i);let o=document.createElement(`tbody`);for(let e of jV(t)){let t=document.createElement(`tr`);e.forEach((e,n)=>{let r=document.createElement(n===0?`th`:`td`);n===0&&(r.scope=`row`),r.textContent=e,t.appendChild(r)}),o.appendChild(t)}return n.appendChild(o),e.appendChild(n),n}function NV(e){let t=e>>>0;return function(){t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function PV(e,t){let n=NV(t),r=[...e];for(let e=r.length-1;e>0;e--){let t=Math.floor(n()*(e+1));[r[e],r[t]]=[r[t],r[e]]}return r}function FV(e,t){return t.filter((t,n)=>t===e[n]).length}function IV(e,t,n=32){if(e.length<2)return{items:[...e],seed:t,deranged:!1};let r;for(let i=0;i<n;i++){let n=t+i,a=PV(e,n),o=FV(e,a);if(o===0)return{items:a,seed:n,deranged:!0};(!r||o<r.fixed)&&(r={items:a,seed:n,fixed:o})}return r?{items:r.items,seed:r.seed,deranged:!1}:{items:PV(e,t),seed:t,deranged:!1}}function LV(e){let t=[];for(let n=2;n<e&&e%n===0;n*=2)t.push(n);return t}function RV(e){return e.toSorted((e,t)=>e.localeCompare(t,`en`)).join(`|`)}function zV(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(RV(e.slice(r,r+t)));return n}function BV(e,t,n){let r=new Set(zV(t,n));return zV(e,n).filter(e=>r.has(e)).length}function VV(e){return Math.floor(e*e/2)}function HV({guess:e,actual:t}){if(e.length!==t.length||new Set(e).size!==e.length)throw Error(`scoreDrawOrder: guess must be a permutation of actual`);let n=new Map(t.map((e,t)=>[e,t]));if(e.some(e=>!n.has(e)))throw Error(`scoreDrawOrder: guess contains a participantId absent from actual`);let r=t.length,i=e.map((e,t)=>{let r=n.get(e)??-1;return{slotIndex:t,participantId:e,actualIndex:r,correct:r===t}}),a=i.filter(e=>e.correct).length,o=i.reduce((e,t)=>e+Math.abs(t.slotIndex-t.actualIndex),0),s=VV(r),c=s>0?1-o/s:1,l=LV(r).map(n=>({blockSize:n,matched:BV(e,t,n),total:r/n})),u=l.reduce((e,t)=>e+t.matched,0),d=l.reduce((e,t)=>e+t.total,0);return{slots:r,exact:a,displacement:o,maxDisplacement:s,proximity:c,levels:l,blocksMatched:u,blocksTotal:d,structureScore:Math.round(d>0?100*u/d:100*c),structurePerfect:d>0&&u===d,perfect:a===r,slotResults:i}}function UV({actualOrder:e,seed:t}){let n=IV(e,t);return{actualOrder:[...e],order:n.items,seed:n.seed,deranged:n.deranged,revealed:!1,score:null,moves:0}}function WV(e,t){return Number.isInteger(t)&&t>=0&&t<e.order.length}function GV(e,t,n){if(e.revealed||t===n||!WV(e,t)||!WV(e,n))return e;let r=[...e.order],[i]=r.splice(t,1);return r.splice(n,0,i),{...e,order:r,moves:e.moves+1}}function KV(e,t,n){if(e.revealed||t===n||!WV(e,t)||!WV(e,n))return e;let r=[...e.order];return[r[t],r[n]]=[r[n],r[t]],{...e,order:r,moves:e.moves+1}}function qV(e){return e.revealed?e:{...e,revealed:!0,score:HV({guess:e.order,actual:e.actualOrder})}}function JV(e,t){return UV({actualOrder:e.actualOrder,seed:t})}var YV=[.25,.75];function XV(e,t){if(!e.length)return null;let n=e.reduce((e,t)=>e+t.weight,0);if(!(n>0))return e[0].value;let r=t*n,i=0;for(let t of e)if(i+=t.weight,i>=r)return t.value;return e[e.length-1].value}function ZV(e,t=YV){let n=e.filter(e=>typeof e.elo==`number`).map(e=>({value:e.elo,weight:Math.max(0,e.probability)})).toSorted((e,t)=>e.value-t.value);if(!n.length)return null;let r=XV(n,t[0]),i=XV(n,t[1]);return r===null||i===null?null:{outerLow:n[0].value,outerHigh:n[n.length-1].value,innerLow:Math.min(r,i),innerHigh:Math.max(r,i)}}var QV={PROJECTED:`projected`,ACTUAL:`actual`},$V={HARD:`hard`,EASY:`easy`},eH=60;function tH(e,t){return t===QV.ACTUAL&&e.actual!==null&&e.actual!==void 0?{value:e.actual,fromActual:!0}:{value:e.projected.expected,fromActual:!1}}function nH({magnitude:e,bands:t=4,domainMax:n}){if(!(n>0)||!(e>0)||t<1)return{layers:[],clipped:!1};let r=n/t,i=[];for(let n=0;n<t;n++){let t=e-n*r;if(t<=0)break;i.push({bandIndex:n,fraction:Math.min(1,t/r)})}return{layers:i,clipped:e>n}}function rH(e,t){let n=e.flatMap(e=>e.points.map(e=>tH(e,t).value).filter(e=>e!==null).map(Math.abs));return n.length?Math.max(60,...n):60}function iH({point:e,ownElo:t,round:n}){if(t!==null&&n?.possibleOpponents?.length){let e=ZV(n.possibleOpponents);if(e)return{outerLow:e.outerLow-t,outerHigh:e.outerHigh-t,innerLow:e.innerLow-t,innerHigh:e.innerHigh-t,weighted:!0}}let{low:r,high:i}=e.projected;return r===null||i===null?null:{outerLow:r,outerHigh:i,innerLow:r,innerHigh:i,weighted:!1}}function aH(e,t){return{roundNumber:e,value:null,direction:null,layers:[],clipped:!1,fromActual:!1,reachProbability:t?.reachProbability??0,bye:!!t?.bye,resolved:!!t?.resolved,spread:null}}function oH(e){return e>=0?$V.HARD:$V.EASY}function sH({roundNumber:e,point:t,source:n,bands:r,domainMax:i,ownElo:a,round:o}){if(!t||t.bye)return aH(e,t);let{value:s,fromActual:c}=tH(t,n);if(s===null)return aH(e,t);let{layers:l,clipped:u}=nH({magnitude:Math.abs(s),bands:r,domainMax:i});return{roundNumber:e,value:s,direction:oH(s),layers:l,clipped:u,fromActual:c,reachProbability:t.reachProbability,bye:!1,resolved:t.resolved,spread:iH({point:t,ownElo:a,round:o})}}function cH(e){let t=new Map;for(let n of e?.projections??[])t.set(n.participantId,new Map(n.rounds.map(e=>[e.roundNumber,e])));return t}function lH({series:e,source:t=QV.PROJECTED,bands:n=4,domainMax:r,projection:i}){let a=[...new Set(e.flatMap(e=>e.points.map(e=>e.roundNumber)))].toSorted((e,t)=>e-t),o=r??rH(e,t),s=cH(i),c=e.map(e=>{let r=new Map(e.points.map(e=>[e.roundNumber,e])),i=s.get(e.participantId);return{participantId:e.participantId,participantName:e.participantName,drawPosition:e.drawPosition,cells:a.map(a=>sH({roundNumber:a,point:r.get(a),source:t,bands:n,domainMax:o,ownElo:e.rating?.elo??null,round:i?.get(a)}))}});return{rows:c,roundNumbers:a,domainMax:o,bands:n,clippedCells:c.flatMap(e=>e.cells).filter(e=>e.clipped).length}}var uH=`http://www.w3.org/2000/svg`,dH=`class`,fH=`path`,pH=0,mH=1.5;function hH(e,t){let n=document.createElementNS(uH,e);return t&&n.setAttribute(dH,t),n}function gH(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function _H(e){let t=e.layers.at(-1);return!t||!e.direction?`chc-ph__stop--none`:`chc-ph__stop--${e.direction}-${t.bandIndex}`}function vH(e,t,n,r){let i=hH(`linearGradient`);if(i.setAttribute(`id`,r),i.setAttribute(`gradientUnits`,`userSpaceOnUse`),i.setAttribute(`x1`,`0`),i.setAttribute(`y1`,`0`),i.setAttribute(`x2`,String(n)),i.setAttribute(`y2`,`0`),e.forEach((e,r)=>{let a=hH(`stop`,_H(e));a.setAttribute(`offset`,String(n>0?t(r)/n:0)),i.appendChild(a)}),e.length===1){let t=hH(`stop`,_H(e[0]));t.setAttribute(`offset`,`1`),i.appendChild(t)}return i}function yH(e,t,n){if(e.bye)return`${t}: bye`;if(e.value===null)return`${t}: no rated opponent`;let r=n?` ${n}-equivalent`:``,i=e.fromActual?`faced`:`projected`,a=e.spread?` · likely ${gH(e.spread.innerLow)} to ${gH(e.spread.innerHigh)}${e.spread.weighted?``:` (unweighted range)`}`:``,o=e.clipped?` · capped at the top band`:``;return`${t}: ${i} ${gH(e.value)}${r}${a}${o}`}function bH(e,t){let{width:n,height:r,domainMax:i,bands:a=4,positionBands:o=2,describe:s=!1,roundLabels:c,scaleName:l,showZeroLine:u=!0}=t,d=Math.max(1,e.cells.length),f=n/d,p=e=>(e+.5)*f,m=r/2,h=Math.max(1,r/2-mH),g=Math.max(1e-9,i/Math.max(1,a)*o),_=e=>m-Math.max(-1,Math.min(1,e/g))*h,v=hH(`svg`,`chc-ph__svg`);v.setAttribute(`width`,String(n)),v.setAttribute(`height`,String(r)),v.setAttribute(`viewBox`,`0 0 ${n} ${r}`),v.setAttribute(`role`,`img`),v.setAttribute(`aria-label`,t.ariaLabel??`Projected round-by-round path for ${e.participantName??e.participantId}`),pH+=1;let y=`chc-ph-grad-${pH}`,b=hH(`defs`);if(b.appendChild(vH(e.cells,p,n,y)),v.appendChild(b),u){let e=hH(`line`,`chc-ph__zero`);e.setAttribute(`x1`,`0`),e.setAttribute(`x2`,String(n)),e.setAttribute(`y1`,String(m)),e.setAttribute(`y2`,String(m)),v.appendChild(e)}let x=e.cells.map((e,t)=>({cell:e,index:t})),S=`url(#${y})`;for(let[e,t]of[[`outer`,`chc-ph__fan chc-ph__fan--outer`],[`inner`,`chc-ph__fan chc-ph__fan--inner`]]){let n=cR().curve(mR).defined(e=>e.cell.spread!==null).x(e=>p(e.index)).y0(t=>_(e===`outer`?t.cell.spread?.outerLow??0:t.cell.spread?.innerLow??0)).y1(t=>_(e===`outer`?t.cell.spread?.outerHigh??0:t.cell.spread?.innerHigh??0))(x);if(!n)continue;let r=hH(fH,t);r.setAttribute(`d`,n),r.setAttribute(`fill`,S),v.appendChild(r)}let C=sR().curve(mR).defined(e=>e.cell.value!==null).x(e=>p(e.index)).y(e=>_(e.cell.value??0))(x);if(C){let e=hH(fH,`chc-ph__trace`);e.setAttribute(`d`,C),e.setAttribute(`stroke`,S),v.appendChild(e)}return s&&e.cells.forEach((e,t)=>{let n=hH(`rect`,`chc-ph__hit`);n.setAttribute(`x`,String(t*f)),n.setAttribute(`y`,`0`),n.setAttribute(`width`,String(f)),n.setAttribute(`height`,String(r));let i=c?.(e.roundNumber,t,d)??`R${t+1}`,a=hH(`title`);a.textContent=yH(e,i,l),n.appendChild(a),v.appendChild(n)}),v}var xH=`http://www.w3.org/2000/svg`,SH=`class`,CH=`rect`,wH=`chc-ph__wall`,TH=2,EH=5,DH=2,OH=2;function kH(e,t){let n=document.createElementNS(xH,e);return t&&n.setAttribute(SH,t),n}function AH(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function jH(e,t,n){if(e.bye)return`${t}: bye`;if(e.value===null)return`${t}: no rated opponent`;let r=e.fromActual?`faced`:`projected`,i=n?` ${n}-equivalent`:``,a=e.clipped?` (capped at the top band)`:``;return`${t}: ${r} ${AH(e.value)}${i}${a}`}function MH({group:e,cell:t,columnWidth:n,height:r}){if(!t.layers.length){let t=kH(CH,`${wH} ${wH}--none`);t.setAttribute(`x`,`0`),t.setAttribute(`y`,String((r-OH)/2)),t.setAttribute(`width`,String(n)),t.setAttribute(`height`,String(OH)),e.appendChild(t);return}let i=t.direction===$V.HARD;for(let a of t.layers){let o=Math.max(1,a.fraction*r),s=kH(CH,`${wH} ${wH}--${t.direction}-${a.bandIndex}`);s.setAttribute(`x`,`0`),s.setAttribute(`y`,String(i?r-o:0)),s.setAttribute(`width`,String(n)),s.setAttribute(`height`,String(o)),o>=EH&&s.setAttribute(`rx`,String(DH)),e.appendChild(s)}}function NH(e,t){let{width:n,height:r,gap:i=TH,describe:a=!1,roundLabels:o,scaleName:s}=t,c=Math.max(1,e.cells.length),l=Math.max(1,(n-i*(c-1))/c),u=kH(`svg`,`chc-ph__svg`);return u.setAttribute(`width`,String(n)),u.setAttribute(`height`,String(r)),u.setAttribute(`viewBox`,`0 0 ${n} ${r}`),u.setAttribute(`role`,`img`),u.setAttribute(`aria-label`,t.ariaLabel??`Projected round-by-round path for ${e.participantName??e.participantId}`),e.cells.forEach((e,t)=>{let n=kH(`g`,`chc-ph__column`);if(n.setAttribute(`transform`,`translate(${t*(l+i)},0)`),MH({group:n,cell:e,columnWidth:l,height:r}),a){let r=o?.(e.roundNumber,t,c)??`R${t+1}`,i=kH(`title`);i.textContent=jH(e,r,s),n.appendChild(i)}u.appendChild(n)}),u}var PH=`http://www.w3.org/2000/svg`,FH=12,IH=2,LH={walls:[`playing up — wall rises from the baseline`,`playing down — wall hangs from the top`],ribbon:[`playing up — trace above the centre line`,`playing down — trace below the centre line`]},RH=[$V.HARD,$V.EASY];function zH(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function BH(e,t,n=!1){let r=FH*t+(t-1)*IH,i=document.createElementNS(PH,`svg`);i.setAttribute(`class`,`chc-ph__swatch`),i.setAttribute(`width`,String(r)),i.setAttribute(`height`,String(FH)),i.setAttribute(`viewBox`,`0 0 ${r} ${FH}`),i.setAttribute(`aria-hidden`,`true`);for(let r=0;r<t;r++){let a=FH*((r+1)/t),o=n?a/2:a,s=document.createElementNS(PH,`rect`);s.setAttribute(`class`,`chc-ph__wall chc-ph__wall--${e}-${r}`),s.setAttribute(`x`,String(r*14));let c=e===$V.HARD,l=FH/2;s.setAttribute(`y`,String(n?c?l-o:l:c?FH-o:0)),s.setAttribute(`width`,String(FH)),s.setAttribute(`height`,String(o)),i.appendChild(s)}return i}function VH(e,t){return e===`ribbon`?`The line is the expected opponent; the shading is who could actually arrive — solid for the likely middle, faint for the full range. Deeper colour means a larger ${t} gap.`:`Deeper, darker bands mean a larger ${t} gap. Rows share one domain.`}function HH({bands:e,scaleName:t,note:n,variant:r}){let i=zH(`div`,`chc-ph__legend`),a=r===`ribbon`,o=LH[a?`ribbon`:`walls`];for(let[t,n]of RH.entries()){let r=zH(`div`,`chc-ph__legend-item`);r.appendChild(BH(n,e,a));let s=zH(`span`,`chc-ph__legend-label`);s.textContent=o[t],r.appendChild(s),i.appendChild(r)}let s=t?`${t}-equivalent rating`:`rating`,c=zH(`div`,`chc-ph__legend-note`);return c.textContent=n??VH(r,s),i.appendChild(c),i}var UH=`chc-ph`,WH=`chc-ph__row`,GH=520,KH=132,qH={walls:16,ribbon:28},JH=2,YH={DRAW:`draw`,DIFFICULTY:`difficulty`},XH={WALLS:`walls`,RIBBON:`ribbon`};function ZH(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function QH(e,t){return t===YH.DIFFICULTY?gV(e):e.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0))}function $H({roundNumbers:e,width:t,columnGap:n,labelWidth:r,roundLabels:i}){let a=ZH(`div`,`chc-ph__head`),o=ZH(`div`,`chc-ph__label`);o.style.width=`${r}px`,a.appendChild(o);let s=ZH(`div`,`chc-ph__rounds`);s.style.width=`${t}px`,s.style.gap=`${n}px`;for(let[t,n]of e.entries()){let r=ZH(`span`,`chc-ph__round-label`);r.textContent=i(n,t,e.length),s.appendChild(r)}return a.appendChild(s),a}function eU(e,t,n){e.classList.add(`is-clickable`),e.setAttribute(`role`,`button`),e.tabIndex=0,e.addEventListener(`click`,()=>n(t)),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(t))})}function tU(e,{variant:t,width:n,rowHeight:r,columnGap:i,roundLabels:a,scaleName:o,domainMax:s,bands:c}){return t===XH.RIBBON?bH(e,{width:n,height:r,domainMax:s,bands:c,positionBands:JH,describe:!0,roundLabels:a,scaleName:o}):NH(e,{width:n,height:r,gap:i,describe:!0,roundLabels:a,scaleName:o})}function nU({shown:e,ordered:t,dropped:n,domainMax:r,bands:i,clippedCells:a,order:o,variant:s,unweightedFan:c}){let l=ZH(`div`,`chc-ph__caption`),u=[`${e} paths · ${o===YH.DRAW?`draw order`:`hardest slot first`}`,`shared domain ±${Math.round(r)} · ${i} bands`];return s===XH.RIBBON&&u.push(`trace saturates past ${JH} of ${i} bands — colour carries the rest`),s===XH.RIBBON&&c&&u.push("fan is the unweighted 1%-threshold range — pass `projection` to weight it"),e<t&&u.push(`${t-e} of ${t} not shown`),n>0&&u.push(`${n} unrated omitted`),a>0&&u.push(`${a} walls capped at the top band`),l.textContent=u.join(` · `),l}function rU(e,t=[],n={}){let r=ZH(`div`,UH);e.appendChild(r);function i(e,t){r.replaceChildren();let{width:n=GH,variant:i=XH.WALLS,rowHeight:a=qH[i],rowGap:o=2,columnGap:s=2,bands:c,source:l=QV.PROJECTED,domainMax:u,showLabels:d=!0,showLegend:f=!0,showRoundHeader:p=!0,order:m=YH.DRAW,limit:h,scaleName:g,onSelect:_,projection:v,roundLabels:y=mB}=t,b=e.filter(e=>e.rating);if(!b.length){let e=ZH(`div`,`chc-ph__empty`);e.textContent=t.emptyMessage??`No rating data for this draw, so there is no pressure to plot.`,r.appendChild(e);return}let x=QH(b,m),S=h?x.slice(0,h):x,C=lH({series:S,source:l,bands:c,domainMax:u,projection:v}),w=d?t.labelWidth??KH:0;p&&r.appendChild($H({roundNumbers:C.roundNumbers,width:n,columnGap:s,labelWidth:w,roundLabels:y}));let T=ZH(`div`,`chc-ph__rows`);T.style.gap=`${o}px`;for(let[e,t]of C.rows.entries()){let r=S[e],o=ZH(`div`,WH);if(o.dataset.participantId=t.participantId,d){let e=ZH(`div`,`chc-ph__label`);e.style.width=`${w}px`,e.textContent=`${t.drawPosition?`${t.drawPosition}. `:``}${t.participantName??t.participantId}`,e.title=e.textContent,o.appendChild(e)}o.appendChild(tU(t,{variant:i,width:n,rowHeight:a,columnGap:s,roundLabels:y,scaleName:g,domainMax:C.domainMax,bands:C.bands})),_&&eU(o,r,_),T.appendChild(o)}r.appendChild(T),f&&r.appendChild(HH({bands:C.bands,scaleName:g,variant:i})),r.appendChild(nU({shown:S.length,ordered:x.length,dropped:e.length-b.length,domainMax:C.domainMax,bands:C.bands,clippedCells:C.clippedCells,order:m,variant:i,unweightedFan:C.rows.some(e=>e.cells.some(e=>e.spread&&!e.spread.weighted))}))}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t}),destroy:()=>r.remove()}}var iU=`chc-dog`,aU=`chc-dog__row`,oU=`application/x-chc-draw-slot`,sU=`button`,cU=`is-drop-target`,lU=`New board dealt`,uU=460,dU={walls:20,ribbon:30},fU=20260831;function pU(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function mU(e,t){let n=document.createElement(sU);return n.type=sU,n.className=`chc-dog__button`,n.textContent=e,n.addEventListener(`click`,t),n}function hU(e,t){return e===2?`first-round pairs`:e===t/2?`halves`:e===t/4?`quarters`:`groups of ${e}`}function gU(e){let t=pU(`div`,`chc-dog__score`),n=pU(`div`,`chc-dog__score-headline`);n.textContent=`${e.structureScore}%`,t.appendChild(n);let r=pU(`div`,`chc-dog__score-summary`);r.textContent=e.structurePerfect?`Every grouping in the real draw — you rebuilt the bracket.`:`${e.blocksMatched} of ${e.blocksTotal} real groupings recovered.`,t.appendChild(r);let i=pU(`ul`,`chc-dog__score-levels`);for(let t of e.levels){let n=pU(`li`);n.textContent=`${hU(t.blockSize,e.slots)}: ${t.matched}/${t.total}`,i.appendChild(n)}t.appendChild(i);let a=pU(`div`,`chc-dog__score-exact`);a.textContent=`${e.exact}/${e.slots} rows in the exact slot.`,t.appendChild(a);let o=pU(`div`,`chc-dog__score-note`);return o.textContent=`A draw sheet is mirror-symmetric — swapping two halves, two quarters or the two players in a pair gives the same bracket with different slot numbers. The headline counts groupings, which survive that; exact slots do not, so a low exact count beside a high headline means you had the draw right and the sheet flipped.`,t.appendChild(o),t}function _U(e,t=[],n={}){let r=pU(`div`,iU);e.appendChild(r);let{width:i=uU,rowHeight:a=dU[n.variant??XH.WALLS],rowGap:o=2,columnGap:s=2,bands:c,variant:l=XH.WALLS,projection:u,scaleName:d,limit:f,roundLabels:p=mB,onComplete:m}=n,h=t.filter(e=>e.rating&&e.drawPosition!==void 0),g=t.length-h.length,_=h.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0)),v=f?_.slice(0,f):_,y=lH({series:v,source:QV.PROJECTED,bands:c,projection:u}),b=new Map(y.rows.map(e=>[e.participantId,e])),x=new Map(v.map(e=>[e.participantId,e])),S=UV({actualOrder:v.map(e=>e.participantId),seed:n.seed??fU}),C=null,w=null,T=pU(`div`,`chc-dog__live`);T.setAttribute(`aria-live`,`polite`);function E(e){T.textContent=e}function D(e,t){let n=e!==S;S=e,F(),t&&n&&E(t),S.revealed&&S.score&&m?.(S.score,S)}function O(e,t){let n=b.get(e),r=pU(`div`,aU);r.dataset.slot=String(t),r.tabIndex=0,r.setAttribute(`role`,`listitem`),r.setAttribute(`aria-label`,`Slot ${t+1} of ${S.order.length}`);let o=pU(`div`,`chc-dog__slot`);if(o.textContent=String(t+1),r.appendChild(o),n){let e=l===XH.RIBBON?bH(n,{width:i,height:a,domainMax:y.domainMax,bands:y.bands,describe:!1,ariaLabel:`Path in slot ${t+1}`}):NH(n,{width:i,height:a,gap:s,describe:!1,ariaLabel:`Path in slot ${t+1}`});r.appendChild(e)}if(S.revealed){let n=x.get(e),i=S.score?.slotResults[t],a=pU(`div`,`chc-dog__reveal${i?.correct?` is-correct`:``}`),o=(i?.actualIndex??0)+1;a.textContent=`${n?.participantName??e} · really ${o}`,r.appendChild(a)}else r.draggable=!0,k(r,t),A(r,t);return r}function k(e,t){e.addEventListener(`dragstart`,n=>{C=t,e.classList.add(`is-dragging`),n.dataTransfer?.setData(oU,String(t)),n.dataTransfer&&(n.dataTransfer.effectAllowed=`move`)}),e.addEventListener(`dragend`,()=>{C=null,e.classList.remove(`is-dragging`)}),e.addEventListener(`dragover`,t=>{t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),e.classList.add(cU)}),e.addEventListener(`dragleave`,()=>e.classList.remove(cU)),e.addEventListener(`drop`,n=>{n.preventDefault(),e.classList.remove(cU);let r=n.dataTransfer?.getData(oU),i=r?Number.parseInt(r,10):C;i===null||Number.isNaN(i)||(w=t,D(GV(S,i,t),`Moved slot ${i+1} to slot ${t+1}`))})}function A(e,t){e.addEventListener(`keydown`,e=>{if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let n=t+(e.key===`ArrowUp`?-1:1);n<0||n>=S.order.length||(e.preventDefault(),w=n,e.altKey||e.metaKey?D(KV(S,t,n),`Slot ${t+1} swapped with slot ${n+1}`):j(n))})}function j(e){r.querySelector(`.${aU}[data-slot="${e}"]`)?.focus()}function M(){let e=pU(`div`,`chc-dog__toolbar`);S.revealed?e.appendChild(mU(`Play again`,()=>D(JV(S,S.seed+1),lU))):(e.appendChild(mU(`Check my order`,()=>D(qV(S)))),e.appendChild(mU(`Shuffle`,()=>D(JV(S,S.seed+1),lU))));let t=pU(`span`,`chc-dog__meta`);return t.textContent=`puzzle #${S.seed} · ${S.order.length} paths · ${S.moves} moves`,e.appendChild(t),e}function N(){let e=pU(`p`,`chc-dog__instructions`);return e.textContent=`These are the projected paths of every player in one draw, shuffled and unnamed. Drag them into the real draw order — or focus a row and hold Alt with the arrow keys. Players who meet in a round are each other’s opponent in that column, so `+(l===XH.RIBBON?`two traces that mirror each other about the centre line in the same column are probably a pair.`:`a deep-hard row and a pale-easy row of the same size in the same column are probably a pair.`),e}function P(){let e=pU(`div`,`chc-dog__head`);e.appendChild(pU(`div`,`chc-dog__slot-spacer`));let t=pU(`div`,`chc-ph__rounds`);t.style.width=`${i}px`,t.style.gap=`${s}px`;for(let[e,n]of y.roundNumbers.entries()){let r=pU(`span`,`chc-ph__round-label`);r.textContent=p(n,e,y.roundNumbers.length),t.appendChild(r)}return e.appendChild(t),e}function F(){if(r.replaceChildren(),!v.length){let e=pU(`div`,`chc-ph__empty`);e.textContent=n.emptyMessage??`No rated draw to play — the game needs ratings and draw positions.`,r.appendChild(e);return}r.appendChild(N()),r.appendChild(M()),r.appendChild(P());let e=pU(`div`,`chc-dog__rows`);e.setAttribute(`role`,`list`),e.style.gap=`${o}px`;for(let[t,n]of S.order.entries())e.appendChild(O(n,t));r.appendChild(e),r.appendChild(HH({bands:y.bands,scaleName:d,variant:l,note:`Deeper, darker bands mean a larger rating gap. Every path is on the same domain — that is what makes two rows comparable.`})),S.revealed&&S.score&&r.appendChild(gU(S.score));let t=pU(`div`,`chc-ph__caption`),i=d?` ${d}-equivalent`:``,a=[`shared domain ±${Math.round(y.domainMax)}${i} · ${y.bands} bands`];S.deranged||a.push(`this deal left a row in its true slot`),g>0&&a.push(`${g} unrated omitted`),y.clippedCells>0&&a.push(`${y.clippedCells} walls capped at the top band`),t.textContent=a.join(` · `),r.appendChild(t),r.appendChild(T),w!==null&&(j(w),w=null)}return F(),{element:r,getState:()=>S,reshuffle:e=>D(JV(S,e??S.seed+1),lU),reveal:()=>D(qV(S)),destroy:()=>r.remove()}}var vU=`right`,yU=`font-medium`;function bU({target:e,button:t,stateChange:n}){let r=0,i=()=>(r+=1,`Item${r}`),a=document.createElement(`div`);t.class&&a.classList.add(t.class),a.classList.add(`dropdown`),t.id&&(a.id=t.id),t.align===vU&&a.classList.add(`is-right`);let o=e=>e.classList.contains(`is-active`),s=()=>{o(a)&&a.classList.remove(`is-active`)},c=e=>o(e)?(e.classList.remove(`is-active`),!1):(e.classList.add(`is-active`),!0);a.onmouseleave=s,a.onclick=()=>c(a);let l=document.createElement(`div`);l.classList.add(`dropdown-trigger`);let u=document.createElement(`button`);u.className=`button font-medium`,t.intent&&u.classList.add(t.intent),u.setAttribute(`aria-haspopup`,`true`);let d=document.createElement(`span`);G(t.onClick)&&(d.onclick=t.onClick),d.style.cssText=`margin-right: 1em`,d.innerHTML=t.label,u.appendChild(d);let f=document.createElement(`span`);G(t.onClick)&&(f.onclick=t.onClick),f.innerHTML=`
216
216
  <span class="icon is-small font-medium">
217
217
  <i class="fas fa-angle-down font-medium" aria-hidden="true"></i>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "courthive-components",
3
- "packageManager": "pnpm@12.9.1",
4
- "version": "6.6.0",
3
+ "packageManager": "pnpm@12.10.1",
4
+ "version": "6.6.1",
5
5
  "engines": {
6
6
  "node": ">=22"
7
7
  },
@@ -80,8 +80,8 @@
80
80
  "@types/d3": "^7.4.3",
81
81
  "@types/leaflet": "^1.9.12",
82
82
  "@types/vanillajs-datepicker": "^1.3.5",
83
- "@typescript-eslint/eslint-plugin": "8.71.0",
84
- "@typescript-eslint/parser": "8.71.0",
83
+ "@typescript-eslint/eslint-plugin": "8.71.1",
84
+ "@typescript-eslint/parser": "8.71.1",
85
85
  "@vitest/browser": "^5.0.3",
86
86
  "@vitest/browser-playwright": "^5.0.3",
87
87
  "@vitest/coverage-v8": "^5.0.0",
@@ -100,9 +100,9 @@
100
100
  "semver": "7.8.5",
101
101
  "storybook": "^10.2.17",
102
102
  "tabulator-tables": "6.6.1",
103
- "tods-competition-factory": "7.11.0",
103
+ "tods-competition-factory": "7.12.0",
104
104
  "typescript": "^6.0.2",
105
- "vite": "8.3.2",
105
+ "vite": "8.3.4",
106
106
  "vite-plugin-dts": "^5.0.0",
107
107
  "vitest": "^5.0.0"
108
108
  },