@vocalstack/player 0.1.0-alpha.43 → 0.1.0-alpha.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- var Pa = Object.defineProperty;
2
- var $a = (t, e, n) => e in t ? Pa(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var Me = (t, e, n) => $a(t, typeof e != "symbol" ? e + "" : e, n);
1
+ var Qa = Object.defineProperty;
2
+ var Ba = (t, e, n) => e in t ? Qa(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var Me = (t, e, n) => Ba(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  import { jsx as i, jsxs as M, Fragment as Ce } from "react/jsx-runtime";
5
- import { useState as L, useRef as k, useEffect as D, useLayoutEffect as Kt, createContext as vi, useMemo as ze, useContext as Qa, useCallback as Ke, Fragment as Ba, forwardRef as Va, useImperativeHandle as Ha } from "react";
6
- import { createPortal as Wa } from "react-dom";
7
- import { VocalStackError as Li, VocalStack as ki } from "@vocalstack/js-sdk";
8
- const ji = "https://vocalstack.com", Fa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Za = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ga = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", qa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
- function Ka({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
5
+ import { useState as L, useRef as k, useEffect as D, useLayoutEffect as Kt, createContext as ki, useMemo as ze, useContext as Va, useCallback as Ke, Fragment as Ha, forwardRef as Wa, useImperativeHandle as Fa } from "react";
6
+ import { createPortal as Za } from "react-dom";
7
+ import { VocalStackError as ji, VocalStack as zi } from "@vocalstack/js-sdk";
8
+ const Ii = "https://vocalstack.com", Ga = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", qa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ka = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", Ja = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
+ function Xa({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
10
10
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...r }, ...s, children: n });
11
11
  }
12
12
  const X = {
@@ -53,9 +53,9 @@ const X = {
53
53
  video: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z"
54
54
  };
55
55
  function oe({ d: t, ...e }) {
56
- return /* @__PURE__ */ i(Ka, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
56
+ return /* @__PURE__ */ i(Xa, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
57
57
  }
58
- function Ja({ size: t = 15 }) {
58
+ function eo({ size: t = 15 }) {
59
59
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ i("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2.5" }) });
60
60
  }
61
61
  function dn({ size: t = 13 }) {
@@ -80,20 +80,20 @@ function ht({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
80
80
  }
81
81
  );
82
82
  }
83
- function Xa({ size: t = 12 }) {
83
+ function to({ size: t = 12 }) {
84
84
  return /* @__PURE__ */ M("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
85
85
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
86
86
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
87
87
  ] });
88
88
  }
89
89
  function Qn({ dark: t, height: e = 20, link: n = !0 }) {
90
- const r = /* @__PURE__ */ i("img", { src: t ? Fa : Za, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
- return n ? /* @__PURE__ */ i("a", { href: ji, style: { display: "block" }, children: r }) : r;
90
+ const r = /* @__PURE__ */ i("img", { src: t ? Ga : qa, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
+ return n ? /* @__PURE__ */ i("a", { href: Ii, style: { display: "block" }, children: r }) : r;
92
92
  }
93
93
  function Ar({ dark: t, size: e = 30 }) {
94
- return /* @__PURE__ */ i("img", { src: t ? Ga : qa, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
94
+ return /* @__PURE__ */ i("img", { src: t ? Ka : Ja, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
95
95
  }
96
- function Js({ children: t, panel: e, inset: n, className: r = "", style: s }) {
96
+ function ei({ children: t, panel: e, inset: n, className: r = "", style: s }) {
97
97
  return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${r}`, style: s, children: t });
98
98
  }
99
99
  function Tt({ checked: t, onChange: e, label: n, disabled: r }) {
@@ -122,7 +122,7 @@ function wr({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill
122
122
  ] }, d.value))
123
123
  ] });
124
124
  }
125
- function eo({ children: t, onClick: e, label: n, size: r, variant: s, bordered: a = !0, active: o, title: l }) {
125
+ function no({ children: t, onClick: e, label: n, size: r, variant: s, bordered: a = !0, active: o, title: l }) {
126
126
  return /* @__PURE__ */ i("button", { type: "button", className: `vs-icon-btn${r === "sm" ? " vs-icon-btn--sm" : ""}${s === "primary" ? " vs-icon-btn--primary" : ""}${o ? " vs-icon-btn--primary" : ""}${a ? "" : " vs-icon-btn--borderless"}`, onClick: e, "aria-label": n, title: l ?? n, children: t });
127
127
  }
128
128
  function Un({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bordered: o = !0, size: l, style: c, flagOnly: u }) {
@@ -135,7 +135,7 @@ function Un({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bord
135
135
  /* @__PURE__ */ i(oe, { d: X.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: s === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
136
136
  ] });
137
137
  }
138
- function to({ value: t, label: e = "Copy", onCopied: n }) {
138
+ function ro({ value: t, label: e = "Copy", onCopied: n }) {
139
139
  const [r, s] = L(!1), a = async () => {
140
140
  try {
141
141
  await navigator.clipboard.writeText(t), s(!0), n == null || n(), setTimeout(() => s(!1), 1400);
@@ -160,7 +160,7 @@ function to({ value: t, label: e = "Copy", onCopied: n }) {
160
160
  }
161
161
  );
162
162
  }
163
- function no(t, e) {
163
+ function so(t, e) {
164
164
  Kt(() => {
165
165
  const n = t.current, r = window.visualViewport;
166
166
  if (!e || !n || !r) return;
@@ -182,9 +182,9 @@ function vr({ children: t, ms: e = 220 }) {
182
182
  var r;
183
183
  return typeof window < "u" && !!((r = window.matchMedia) != null && r.call(window, "(hover: hover) and (pointer: fine)").matches);
184
184
  });
185
- return n ? /* @__PURE__ */ i(ro, { ms: e, children: t }) : /* @__PURE__ */ i("div", { children: t });
185
+ return n ? /* @__PURE__ */ i(io, { ms: e, children: t }) : /* @__PURE__ */ i("div", { children: t });
186
186
  }
187
- function ro({ children: t, ms: e }) {
187
+ function io({ children: t, ms: e }) {
188
188
  const n = k(null), r = k(null), [s, a] = L(null);
189
189
  return Kt(() => {
190
190
  const o = r.current, l = n.current;
@@ -211,7 +211,7 @@ function ro({ children: t, ms: e }) {
211
211
  }
212
212
  function Jt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: u, sticky: d = !1 }) {
213
213
  const g = k(null);
214
- return no(g, t), D(() => {
214
+ return so(g, t), D(() => {
215
215
  if (!t) return;
216
216
  const h = (f) => {
217
217
  f.key === "Escape" && e();
@@ -228,15 +228,15 @@ function Jt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a
228
228
  /* @__PURE__ */ i("div", { className: "vs-sheet__body", children: o })
229
229
  ] }) }) : null;
230
230
  }
231
- vi(0);
231
+ ki(0);
232
232
  function Lr({ children: t, style: e, className: n }) {
233
233
  return /* @__PURE__ */ i("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
234
234
  }
235
235
  let Dn = null;
236
- function Bu(t) {
236
+ function Vu(t) {
237
237
  Dn = t;
238
238
  }
239
- function zi(t) {
239
+ function bi(t) {
240
240
  Dn == null || Dn(t);
241
241
  }
242
242
  function Bn() {
@@ -246,11 +246,11 @@ function Bn() {
246
246
  return "ogg";
247
247
  }
248
248
  }
249
- function so(t = {}) {
249
+ function ao(t = {}) {
250
250
  const e = new URLSearchParams();
251
251
  return t.media ? e.set("media", t.media) : t.accessToken && e.set("access_token", t.accessToken), t.listenerToken && e.set("listenerToken", t.listenerToken), t.shareCode && e.set("shareCode", t.shareCode), e.toString();
252
252
  }
253
- async function io(t) {
253
+ async function oo(t) {
254
254
  try {
255
255
  const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
256
256
  if (e.type === "opaqueredirect" || e.ok || e.status >= 300 && e.status < 400) return null;
@@ -265,7 +265,7 @@ async function io(t) {
265
265
  return null;
266
266
  }
267
267
  }
268
- async function ao(t) {
268
+ async function lo(t) {
269
269
  try {
270
270
  const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
271
271
  return e.type === "opaqueredirect" || e.status >= 300 && e.status < 400;
@@ -273,11 +273,11 @@ async function ao(t) {
273
273
  return !1;
274
274
  }
275
275
  }
276
- function oo(t, e, n = {}) {
276
+ function co(t, e, n = {}) {
277
277
  const r = new URLSearchParams({ kind: "delivery", format: Bn() });
278
278
  return n.media ? r.set("media", n.media) : n.accessToken && r.set("access_token", n.accessToken), n.listenerToken && r.set("listenerToken", n.listenerToken), n.shareCode && r.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
279
279
  }
280
- function Xs(t, e, n = {}, r = "background") {
280
+ function ti(t, e, n = {}, r = "background") {
281
281
  const s = new URLSearchParams({ kind: r, format: Bn() });
282
282
  return n.media ? s.set("media", n.media) : n.accessToken && s.set("access_token", n.accessToken), n.listenerToken && s.set("listenerToken", n.listenerToken), n.shareCode && s.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
283
283
  }
@@ -285,30 +285,30 @@ function xn(t, e, n, r = {}) {
285
285
  const s = new URLSearchParams({ kind: n });
286
286
  return n === "delivery" && s.set("format", "mp3"), r.media ? s.set("media", r.media) : r.accessToken && s.set("access_token", r.accessToken), r.listenerToken && s.set("listenerToken", r.listenerToken), r.shareCode && s.set("shareCode", r.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
287
287
  }
288
- function lo(t, e, n, r, s = {}) {
289
- return co(t, e, n, r, "mp3", s);
288
+ function uo(t, e, n, r, s = {}) {
289
+ return ho(t, e, n, r, "mp3", s);
290
290
  }
291
- function co(t, e, n, r, s, a) {
291
+ function ho(t, e, n, r, s, a) {
292
292
  const o = new URLSearchParams({ kind: "voice", lang: n, format: s });
293
293
  return r && o.set("voice", r), a.media ? o.set("media", a.media) : a.accessToken && o.set("access_token", a.accessToken), a.listenerToken && o.set("listenerToken", a.listenerToken), a.shareCode && o.set("shareCode", a.shareCode), `${t}/v1/recordings/${e}/audio?${o}`;
294
294
  }
295
- function uo(t, e = !0) {
295
+ function go(t, e = !0) {
296
296
  const n = (t == null ? void 0 : t.code) ?? 0, r = n === 2 ? "the download failed" : n === 3 ? "this browser could not decode it" : n === 4 ? "the file is not available, or this browser cannot play it" : n === 1 ? "the load was stopped" : "something went wrong";
297
- return e && Ii(t), `The audio could not be played: ${r}.`;
297
+ return e && Oi(t), `The audio could not be played: ${r}.`;
298
298
  }
299
- function Ii(t) {
299
+ function Oi(t) {
300
300
  const e = (t == null ? void 0 : t.code) ?? 0;
301
- e !== 1 && zi(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
301
+ e !== 1 && bi(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
302
302
  }
303
- const ho = 3e3;
304
- function go(t, e, n) {
303
+ const Mo = 3e3;
304
+ function fo(t, e, n) {
305
305
  if (t !== 503) return null;
306
306
  const r = e == null || e.trim() === "" ? NaN : Number(e);
307
307
  if (Number.isFinite(r)) return Math.min(15e3, Math.max(1e3, r * 1e3));
308
308
  const s = n;
309
- return s && (s.retryable === !0 || s.code === "engine_unavailable") ? ho : null;
309
+ return s && (s.retryable === !0 || s.code === "engine_unavailable") ? Mo : null;
310
310
  }
311
- class Mo {
311
+ class po {
312
312
  constructor(e = {}) {
313
313
  Me(this, "entries", /* @__PURE__ */ new Map());
314
314
  Me(this, "wanted", []);
@@ -401,13 +401,13 @@ class Mo {
401
401
  }).catch(() => r(n.signal.aborted ? null : { state: "failed", at: this.now() }));
402
402
  }
403
403
  }
404
- const bi = { video: !1 };
405
- function Oi(t) {
406
- if (!bi.video) return new Audio(t);
404
+ const Ci = { video: !1 };
405
+ function xi(t) {
406
+ if (!Ci.video) return new Audio(t);
407
407
  const e = document.createElement("video");
408
408
  return e.playsInline = !0, t && (e.src = t), e;
409
409
  }
410
- class Ci extends Error {
410
+ class Si extends Error {
411
411
  constructor() {
412
412
  super("The voice did not start in time."), this.name = "VoiceNotStarted";
413
413
  }
@@ -453,7 +453,7 @@ const nt = class nt {
453
453
  Me(this, "loading", null);
454
454
  Me(this, "readAhead", 0);
455
455
  Me(this, "readAheadS", 0);
456
- Me(this, "prefetch", new Mo());
456
+ Me(this, "prefetch", new po());
457
457
  Me(this, "warmed", /* @__PURE__ */ new Set());
458
458
  Me(this, "startingSince", /* @__PURE__ */ new Map());
459
459
  Me(this, "retries", /* @__PURE__ */ new Map());
@@ -789,7 +789,7 @@ const nt = class nt {
789
789
  const l = await fetch(n, { method: "GET" });
790
790
  s = l.ok, r = l.status === 202 || l.status === 503 || l.status === 429;
791
791
  const c = l.status === 503 ? await l.json().catch(() => null) : null;
792
- a = go(l.status, l.headers.get("Retry-After"), c);
792
+ a = fo(l.status, l.headers.get("Retry-After"), c);
793
793
  } catch {
794
794
  r = !0;
795
795
  }
@@ -810,7 +810,7 @@ const nt = class nt {
810
810
  }, a);
811
811
  return;
812
812
  }
813
- this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new Ci()), this.onSentence(e);
813
+ this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new Si()), this.onSentence(e);
814
814
  return;
815
815
  }
816
816
  const o = (this.retries.get(e) ?? 0) + 1;
@@ -838,7 +838,7 @@ const nt = class nt {
838
838
  }
839
839
  element() {
840
840
  if (this.el) return this.el;
841
- const e = Oi();
841
+ const e = xi();
842
842
  e.preload = "auto";
843
843
  const n = e;
844
844
  return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
@@ -892,14 +892,14 @@ const nt = class nt {
892
892
  };
893
893
  Me(nt, "WAIT_MS", 15e3), Me(nt, "START_WAIT_MS", 4e3), Me(nt, "COMING_MS", 12e4), Me(nt, "SKEW_LINES", 3), Me(nt, "RETRIES", 4), Me(nt, "RETRY_MS", 1200), Me(nt, "STARTING_MS", 3e5);
894
894
  let kr = nt;
895
- function xi(t, e) {
895
+ function Di(t, e) {
896
896
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
897
897
  }
898
- function fo(t, e, n, r = {}, s) {
898
+ function mo(t, e, n, r = {}, s) {
899
899
  if (!t) return [];
900
900
  const a = s != null && s.length ? s : t.clips;
901
901
  if (!(a != null && a.length)) return [];
902
- const o = so(r), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
902
+ const o = ao(r), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
903
903
  return a.flatMap((u) => {
904
904
  var h, f;
905
905
  const d = (h = t.clipRev) == null ? void 0 : h[String(u)], g = Math.max(1, ((f = t.clipParts) == null ? void 0 : f[String(u)]) ?? 1);
@@ -918,16 +918,16 @@ function fo(t, e, n, r = {}, s) {
918
918
  });
919
919
  });
920
920
  }
921
- function Si(t, e) {
921
+ function Ai(t, e) {
922
922
  const n = e.words;
923
923
  if (n && n.length === t.length && t.length > 0) {
924
924
  let r = 0;
925
925
  for (let s = 0; s < n.length && e.t >= n[s][0]; s++) r = s;
926
926
  return r;
927
927
  }
928
- return e.dur > 0 ? po(t, e.t, e.dur) : null;
928
+ return e.dur > 0 ? No(t, e.t, e.dur) : null;
929
929
  }
930
- function po(t, e, n) {
930
+ function No(t, e, n) {
931
931
  if (t.length <= 1 || !(n > 0)) return 0;
932
932
  const r = t.map((l) => l.t.length + 1.6), s = r.reduce((l, c) => l + c, 0);
933
933
  let a = 0;
@@ -945,7 +945,7 @@ function Ir(t, e) {
945
945
  return e;
946
946
  }
947
947
  }
948
- function Di(t, e) {
948
+ function Ei(t, e) {
949
949
  try {
950
950
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
951
951
  } catch {
@@ -960,32 +960,32 @@ function Er(t, e) {
960
960
  zr.delete(s), window.removeEventListener("storage", s);
961
961
  };
962
962
  }, [t]), [n, (s) => {
963
- r(s), Di(t, s);
963
+ r(s), Ei(t, s);
964
964
  }];
965
965
  }
966
- function ei(t) {
966
+ function ni(t) {
967
967
  const e = Ir(jr, []);
968
- Di(jr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
968
+ Ei(jr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
969
969
  }
970
- function Ai() {
970
+ function _i() {
971
971
  const [t, e] = Er(jr, []), n = Array.isArray(t) ? t : [];
972
972
  return [n, (r) => {
973
973
  r && e([r, ...n.filter((s) => s !== r)].slice(0, 3));
974
974
  }];
975
975
  }
976
- function Ei(t, e) {
976
+ function Yi(t, e) {
977
977
  if (!t) return [];
978
978
  const n = new Set(t[e]);
979
979
  return t.languages.filter((r) => n.has(r.code)).map((r) => ({ code: r.code, label: r.name, native: r.native, flag: r.flag ?? "🌐", voice: !!r.voice }));
980
980
  }
981
- function mo(t) {
981
+ function yo(t) {
982
982
  const [e, n] = Er(`vs.pins.${t}`, null);
983
983
  return [Array.isArray(e) ? e : [], n];
984
984
  }
985
- const No = 352;
986
- function yo(t) {
985
+ const To = 352;
986
+ function wo(t) {
987
987
  const [e, n] = Er(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
988
- return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : No, n];
988
+ return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : To, n];
989
989
  }
990
990
  function _r({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: u, keepOpen: d, busy: g }) {
991
991
  const [h, f] = L(""), [m, y] = L(!1), [j, N] = L(null);
@@ -1023,9 +1023,9 @@ function _r({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
1023
1023
  /* @__PURE__ */ i("div", { className: "vs-picker__native", children: A.native })
1024
1024
  ] }),
1025
1025
  /* @__PURE__ */ i("span", { className: "vs-picker__slot", children: T && /* @__PURE__ */ i("span", { className: "vs-picker__forget", role: "button", tabIndex: 0, title: `Remove ${A.label} from recent`, "aria-label": `Remove ${A.label} from recent`, onClick: (te) => {
1026
- te.stopPropagation(), ei(A.code);
1026
+ te.stopPropagation(), ni(A.code);
1027
1027
  }, onKeyDown: (te) => {
1028
- (te.key === "Enter" || te.key === " ") && (te.preventDefault(), te.stopPropagation(), ei(A.code));
1028
+ (te.key === "Enter" || te.key === " ") && (te.preventDefault(), te.stopPropagation(), ni(A.code));
1029
1029
  }, children: /* @__PURE__ */ i(oe, { d: X.close, size: 16 }) }) }),
1030
1030
  /* @__PURE__ */ i("span", { className: `vs-picker__slot${O ? " vs-picker__slot--wide" : ""}`, title: A.voice ? "Voice available" : O ? "No voice speaks this language yet" : void 0, children: O ? j === A.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : A.voice && /* @__PURE__ */ i(oe, { d: X.headphones, size: 16 }) }),
1031
1031
  /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === A.code && (g === A.code ? /* @__PURE__ */ i(ht, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: X.check, size: 16, sw: 2.2 })) })
@@ -1068,11 +1068,11 @@ function _r({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
1068
1068
  ] });
1069
1069
  return { search: I, list: F };
1070
1070
  }
1071
- function To({ open: t, onClose: e, title: n, note: r, sticky: s, ...a }) {
1071
+ function vo({ open: t, onClose: e, title: n, note: r, sticky: s, ...a }) {
1072
1072
  const { search: o, list: l } = _r({ ...a, open: t, onClose: e });
1073
1073
  return /* @__PURE__ */ i(Jt, { open: t, onClose: e, title: n, note: r, drawer: !1, sticky: s, kind: "picker", header: o, children: l });
1074
1074
  }
1075
- function ti({ src: t, setup: e, t: n, playing: r, seekN: s, onToggle: a, seekOver: o = 0.4 }) {
1075
+ function ri({ src: t, setup: e, t: n, playing: r, seekN: s, onToggle: a, seekOver: o = 0.4 }) {
1076
1076
  const l = k(null), [c, u] = L(!1), [d, g] = L(!1), h = k(n);
1077
1077
  return h.current = n, D(() => {
1078
1078
  u(!1), g(!1);
@@ -1123,7 +1123,7 @@ function ti({ src: t, setup: e, t: n, playing: r, seekN: s, onToggle: a, seekOve
1123
1123
  c && /* @__PURE__ */ i("div", { className: `txyt__paused${r ? "" : " txyt__paused--on"}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(dn, { size: 44 }) }) })
1124
1124
  ] });
1125
1125
  }
1126
- const _i = [
1126
+ const Ui = [
1127
1127
  { id: "youtube", name: "YouTube", color: "#ff3b30", hosts: /(^|\.)(youtube\.com|youtu\.be|youtube-nocookie\.com)$/, glyph: "M21.6 7.2a2.7 2.7 0 0 0-1.9-1.9C18 4.8 12 4.8 12 4.8s-6 0-7.7.5a2.7 2.7 0 0 0-1.9 1.9C2 8.9 2 12 2 12s0 3.1.4 4.8a2.7 2.7 0 0 0 1.9 1.9c1.7.5 7.7.5 7.7.5s6 0 7.7-.5a2.7 2.7 0 0 0 1.9-1.9c.4-1.7.4-4.8.4-4.8s0-3.1-.4-4.8ZM10 15.1V8.9l5.3 3.1L10 15.1Z" },
1128
1128
  { id: "loom", name: "Loom", color: "#8f7bff", hosts: /(^|\.)loom\.com$/, glyph: "M21 11h-5.2l4.5-2.6-1-1.7-4.5 2.6 2.6-4.5-1.7-1-2.6 4.5V3h-2v5.3L8.5 3.8l-1.7 1 2.6 4.5-4.5-2.6-1 1.7L8.2 11H3v2h5.2l-4.5 2.6 1 1.7 4.5-2.6-2.6 4.5 1.7 1 2.6-4.5V21h2v-5.2l2.6 4.5 1.7-1-2.6-4.5 4.5 2.6 1-1.7-4.5-2.6H21v-2Zm-9 3.4a2.4 2.4 0 1 1 0-4.8 2.4 2.4 0 0 1 0 4.8Z" },
1129
1129
  { id: "vimeo", name: "Vimeo", color: "#1ab7ea", hosts: /(^|\.)vimeo\.com$/, glyph: "M22 7.4c-.1 2-1.5 4.7-4.2 8.1-2.8 3.6-5.1 5.4-7 5.4-1.2 0-2.2-1.1-3-3.3L6.2 11.6C5.6 9.4 5 8.3 4.3 8.3c-.1 0-.6.3-1.4.9L2 8l2.7-2.4C5.9 4.6 6.8 4 7.4 4c1.4-.1 2.3.9 2.6 2.9.4 2.2.6 3.6.8 4.1.4 1.8.9 2.7 1.4 2.7.4 0 1-.6 1.8-1.9.8-1.2 1.2-2.2 1.3-2.8.1-1.1-.3-1.6-1.3-1.6-.5 0-.9.1-1.4.3.9-3 2.7-4.5 5.3-4.4 1.9.1 2.8 1.3 2.7 3.7Z" },
@@ -1138,11 +1138,11 @@ const _i = [
1138
1138
  { id: "mixcloud", name: "Mixcloud", color: "#7f8cff", hosts: /(^|\.)mixcloud\.com$/, audioOnly: !0, glyph: "M17.5 9.5a5.5 5.5 0 0 0-10.6 1.2A3.8 3.8 0 0 0 7.3 18h10.2a4.25 4.25 0 0 0 0-8.5Z" },
1139
1139
  { id: "streamable", name: "Streamable", color: "#0f90fa", hosts: /(^|\.)streamable\.com$/, glyph: "M4 6.5A2.5 2.5 0 0 1 6.5 4h11A2.5 2.5 0 0 1 20 6.5v11a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 4 17.5v-11Zm6 2.3v6.4l5.2-3.2L10 8.8Z" },
1140
1140
  { id: "bandcamp", name: "Bandcamp", color: "#1da0c3", hosts: /(^|\.)bandcamp\.com$/, audioOnly: !0, glyph: "M2 18 8.5 6H22l-6.5 12H2Z" }
1141
- ], wo = new Map(_i.map((t) => [t.id, t]));
1142
- function Vu(t) {
1143
- return t ? wo.get(t) ?? null : null;
1141
+ ], Lo = new Map(Ui.map((t) => [t.id, t]));
1142
+ function Hu(t) {
1143
+ return t ? Lo.get(t) ?? null : null;
1144
1144
  }
1145
- function vo(t) {
1145
+ function ko(t) {
1146
1146
  const e = t == null ? void 0 : t.trim();
1147
1147
  if (!e) return null;
1148
1148
  try {
@@ -1151,9 +1151,9 @@ function vo(t) {
1151
1151
  return null;
1152
1152
  }
1153
1153
  }
1154
- function Lo(t) {
1155
- const e = vo(t);
1156
- return e ? _i.find((n) => n.hosts.test(e)) ?? null : null;
1154
+ function Yr(t) {
1155
+ const e = ko(t);
1156
+ return e ? Ui.find((n) => n.hosts.test(e)) ?? null : null;
1157
1157
  }
1158
1158
  function jt(t) {
1159
1159
  try {
@@ -1163,12 +1163,12 @@ function jt(t) {
1163
1163
  }
1164
1164
  }
1165
1165
  const ln = (t) => Math.max(0, Math.floor(t));
1166
- function Yi(t) {
1166
+ function Ri(t) {
1167
1167
  var n;
1168
1168
  const e = /\/(?:share|embed)\/(?:[^/?#]*-)?([0-9a-f]{32})(?:[/?#]|$)/i.exec(((n = jt(t)) == null ? void 0 : n.pathname) ?? "");
1169
1169
  return e ? e[1].toLowerCase() : null;
1170
1170
  }
1171
- function ko(t) {
1171
+ function jo(t) {
1172
1172
  const e = jt(t);
1173
1173
  if (!e) return null;
1174
1174
  const n = e.pathname.split("/").filter(Boolean), r = n.map((a, o) => /^\d+$/.test(a) ? o : -1).filter((a) => a >= 0).pop();
@@ -1176,14 +1176,14 @@ function ko(t) {
1176
1176
  const s = n[r + 1];
1177
1177
  return { id: n[r], h: e.searchParams.get("h") ?? (s && /^[0-9a-f]{6,}$/i.test(s) ? s : null) };
1178
1178
  }
1179
- function jo(t) {
1179
+ function zo(t) {
1180
1180
  const e = jt(t);
1181
1181
  if (!e) return null;
1182
1182
  if (/(^|\.)dai\.ly$/i.test(e.hostname)) return e.pathname.split("/").filter(Boolean)[0] ?? null;
1183
1183
  const n = /\/video\/([a-z0-9]+)/i.exec(e.pathname);
1184
1184
  return n ? n[1] : null;
1185
1185
  }
1186
- function zo(t) {
1186
+ function Io(t) {
1187
1187
  const e = jt(t);
1188
1188
  if (!e) return null;
1189
1189
  const n = e.pathname.split("/").filter(Boolean);
@@ -1193,40 +1193,40 @@ function zo(t) {
1193
1193
  const s = n.indexOf("clip");
1194
1194
  return s >= 0 && n[s + 1] ? { clip: n[s + 1] } : n[0] ? { channel: n[0] } : null;
1195
1195
  }
1196
- const Io = (t) => {
1196
+ const bo = (t) => {
1197
1197
  const e = ln(t);
1198
1198
  return `${Math.floor(e / 3600)}h${Math.floor(e % 3600 / 60)}m${e % 60}s`;
1199
1199
  };
1200
- function Ui(t, e) {
1200
+ function Pi(t, e) {
1201
1201
  var s, a, o, l, c;
1202
- const n = Lo(t);
1202
+ const n = Yr(t);
1203
1203
  if (!n) return null;
1204
1204
  const r = e.play ? 1 : 0;
1205
1205
  switch (n.id) {
1206
1206
  case "loom": {
1207
- const u = Yi(t);
1207
+ const u = Ri(t);
1208
1208
  if (!u) return null;
1209
1209
  const d = new URLSearchParams({ hide_owner: "true", hide_share: "true", hide_title: "true", hideEmbedTopBar: "true", hide_speed: "true", muted: "true", autoplay: e.play ? "true" : "false", t: String(ln(e.t)) });
1210
1210
  return `https://www.loom.com/embed/${u}?${d}`;
1211
1211
  }
1212
1212
  case "vimeo": {
1213
- const u = ko(t);
1213
+ const u = jo(t);
1214
1214
  if (!u) return null;
1215
1215
  const d = new URLSearchParams({ autoplay: String(r), muted: "1", controls: "0", title: "0", byline: "0", portrait: "0", dnt: "1" });
1216
1216
  return u.h && d.set("h", u.h), `https://player.vimeo.com/video/${u.id}?${d}#t=${ln(e.t)}s`;
1217
1217
  }
1218
1218
  case "dailymotion": {
1219
- const u = jo(t);
1219
+ const u = zo(t);
1220
1220
  if (!u) return null;
1221
1221
  const d = new URLSearchParams({ autoplay: String(r), mute: "1", controls: "0", "queue-enable": "0", "sharing-enable": "0", "ui-start-screen-info": "0", start: String(ln(e.t)) });
1222
1222
  return `https://www.dailymotion.com/embed/video/${u}?${d}`;
1223
1223
  }
1224
1224
  case "twitch": {
1225
- const u = zo(t);
1225
+ const u = Io(t);
1226
1226
  if (!u || !e.host) return null;
1227
1227
  if (u.clip) return `https://clips.twitch.tv/embed?${new URLSearchParams({ clip: u.clip, parent: e.host, autoplay: String(!!e.play), muted: "true" })}`;
1228
1228
  const d = new URLSearchParams({ parent: e.host, autoplay: String(!!e.play), muted: "true" });
1229
- return u.video ? (d.set("video", `v${u.video}`), d.set("time", Io(e.t))) : u.channel && d.set("channel", u.channel), `https://player.twitch.tv/?${d}`;
1229
+ return u.video ? (d.set("video", `v${u.video}`), d.set("time", bo(e.t))) : u.channel && d.set("channel", u.channel), `https://player.twitch.tv/?${d}`;
1230
1230
  }
1231
1231
  case "facebook":
1232
1232
  return `https://www.facebook.com/plugins/video.php?${new URLSearchParams({ href: t, autoplay: String(!!e.play), mute: "1", show_text: "false" })}`;
@@ -1254,10 +1254,10 @@ function Ui(t, e) {
1254
1254
  return null;
1255
1255
  }
1256
1256
  }
1257
- function bo(t) {
1258
- return !!t && Ui(t, { t: 0, play: !1, host: "localhost" }) != null;
1257
+ function Oo(t) {
1258
+ return !!t && Pi(t, { t: 0, play: !1, host: "localhost" }) != null;
1259
1259
  }
1260
- function Oo(t, e) {
1260
+ function Co(t, e) {
1261
1261
  const n = e == null ? void 0 : e.trim();
1262
1262
  if (!t || !n) return null;
1263
1263
  switch (t) {
@@ -1287,13 +1287,13 @@ function Oo(t, e) {
1287
1287
  return null;
1288
1288
  }
1289
1289
  }
1290
- function Co(t) {
1291
- return !t || t.kind !== "url" ? null : Oo(t.site, t.embedId) ?? t.url ?? null;
1290
+ function xo(t) {
1291
+ return !t || t.kind !== "url" ? null : Co(t.site, t.embedId) ?? t.url ?? null;
1292
1292
  }
1293
- function xo({ url: t, t: e, playing: n, seekN: r, title: s }) {
1293
+ function So({ url: t, t: e, playing: n, seekN: r, title: s }) {
1294
1294
  const a = k(e);
1295
1295
  a.current = e;
1296
- const [o, l] = L(!1), c = typeof window < "u" ? window.location.hostname : "localhost", u = ze(() => Ui(t, { t: a.current, play: n, host: c }), [t, n, r, c]);
1296
+ const [o, l] = L(!1), c = typeof window < "u" ? window.location.hostname : "localhost", u = ze(() => Pi(t, { t: a.current, play: n, host: c }), [t, n, r, c]);
1297
1297
  return u ? /* @__PURE__ */ i(
1298
1298
  "iframe",
1299
1299
  {
@@ -1310,7 +1310,7 @@ function xo({ url: t, t: e, playing: n, seekN: r, title: s }) {
1310
1310
  u
1311
1311
  ) : null;
1312
1312
  }
1313
- async function So(t) {
1313
+ async function Do(t) {
1314
1314
  try {
1315
1315
  const e = await fetch(`https://www.loom.com/api/campaigns/sessions/${t}/raw-url`, { method: "POST" });
1316
1316
  if (!e.ok || e.status === 204) return null;
@@ -1320,17 +1320,17 @@ async function So(t) {
1320
1320
  return null;
1321
1321
  }
1322
1322
  }
1323
- function Do(t) {
1323
+ function Ao(t) {
1324
1324
  const e = t.includes("?") ? t.slice(t.indexOf("?") + 1) : "";
1325
1325
  return (n, r) => {
1326
1326
  e && !r.includes("Signature=") && n.open("GET", r + (r.includes("?") ? "&" : "?") + e, !0);
1327
1327
  };
1328
1328
  }
1329
- function Ao(t) {
1329
+ function Eo(t) {
1330
1330
  return (e, n) => {
1331
1331
  let r = !0, s = null;
1332
1332
  return (async () => {
1333
- const a = await So(t);
1333
+ const a = await Do(t);
1334
1334
  if (!r) return;
1335
1335
  if (!a) {
1336
1336
  n();
@@ -1343,7 +1343,7 @@ function Ao(t) {
1343
1343
  n();
1344
1344
  return;
1345
1345
  }
1346
- const c = new l({ xhrSetup: Do(a), capLevelToPlayerSize: !0, startLevel: 0, maxBufferLength: 20 });
1346
+ const c = new l({ xhrSetup: Ao(a), capLevelToPlayerSize: !0, startLevel: 0, maxBufferLength: 20 });
1347
1347
  c.on(l.Events.ERROR, (u, d) => {
1348
1348
  d.fatal && (c.destroy(), n());
1349
1349
  }), c.loadSource(a), c.attachMedia(e), s = () => c.destroy();
@@ -1353,7 +1353,7 @@ function Ao(t) {
1353
1353
  };
1354
1354
  }
1355
1355
  const sn = /* @__PURE__ */ new Map();
1356
- function Eo(t) {
1356
+ function _o(t) {
1357
1357
  const [e, n] = L(() => t ? sn.get(t) ?? null : null);
1358
1358
  return D(() => {
1359
1359
  if (!t) {
@@ -1375,11 +1375,11 @@ function Eo(t) {
1375
1375
  };
1376
1376
  }, [t]), e;
1377
1377
  }
1378
- const _o = /^[0-9a-f]{16,}$/i, ni = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1379
- function Yo(t) {
1378
+ const Yo = /^[0-9a-f]{16,}$/i, si = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1379
+ function Uo(t) {
1380
1380
  const e = (r) => {
1381
1381
  const s = r == null ? void 0 : r.trim();
1382
- return s && s !== t.id && !ni.test(s) && !_o.test(s) ? s : null;
1382
+ return s && s !== t.id && !si.test(s) && !Yo.test(s) ? s : null;
1383
1383
  }, n = (() => {
1384
1384
  if (!t.url) return null;
1385
1385
  try {
@@ -1388,39 +1388,39 @@ function Yo(t) {
1388
1388
  return null;
1389
1389
  }
1390
1390
  })();
1391
- return e(t.name) ?? e(t.sourceName) ?? e(t.ytTitle) ?? n ?? (ni.test(t.id) ? "VocalStack" : t.id);
1391
+ return e(t.name) ?? e(t.sourceName) ?? e(t.ytTitle) ?? n ?? (si.test(t.id) ? "VocalStack" : t.id);
1392
1392
  }
1393
- const Uo = 0.3;
1394
- function ri(t, e) {
1395
- t.muted = e.muted, Math.abs(t.currentTime - e.t) > Uo && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1393
+ const Ro = 0.3;
1394
+ function ii(t, e) {
1395
+ t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ro && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1396
1396
  }) : t.paused || t.pause();
1397
1397
  }
1398
- const Rn = "Remove background sound", Ro = "Takes out everything that isn't speech: music, ambience and noise.";
1399
- function Po(t) {
1398
+ const Rn = "Remove background sound", Po = "Takes out everything that isn't speech: music, ambience and noise.";
1399
+ function $o(t) {
1400
1400
  const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), r = Math.floor(e % 3600 / 60), s = String(e % 60).padStart(2, "0");
1401
1401
  return n ? `${n}:${String(r).padStart(2, "0")}:${s}` : `${r}:${s}`;
1402
1402
  }
1403
- function $o(t, e, n = "transcription", r = 0) {
1404
- return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? r > 0 ? `Separating the speech from the background… ready up to ${Po(r)}` : "Separating the speech from the background…" : Ro;
1403
+ function Qo(t, e, n = "transcription", r = 0) {
1404
+ return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? r > 0 ? `Separating the speech from the background… ready up to ${$o(r)}` : "Separating the speech from the background…" : Po;
1405
1405
  }
1406
- function Qo(t, e) {
1406
+ function Bo(t, e) {
1407
1407
  return { bed: e && !t, speech: !e && t };
1408
1408
  }
1409
- function Bo(t) {
1409
+ function Vo(t) {
1410
1410
  const e = t.get("bg");
1411
1411
  return e === "off" || e === "remove";
1412
1412
  }
1413
- function Vo(t, e) {
1413
+ function Ho(t, e) {
1414
1414
  e ? t.searchParams.set("bg", "remove") : t.searchParams.delete("bg");
1415
1415
  }
1416
- function Ho(t, e) {
1416
+ function Wo(t, e) {
1417
1417
  var r, s;
1418
1418
  if (t !== 503) return null;
1419
1419
  const n = (s = (r = e == null ? void 0 : e.data) == null ? void 0 : r.details) == null ? void 0 : s.retryAfterS;
1420
1420
  return typeof n == "number" && n > 0 ? Math.max(2, n) : 3;
1421
1421
  }
1422
- const Wo = 0.05;
1423
- function Fo(t) {
1422
+ const Fo = 0.05;
1423
+ function Zo(t) {
1424
1424
  var r, s;
1425
1425
  const e = (s = (r = t == null ? void 0 : t.data) == null ? void 0 : r.details) == null ? void 0 : s.parts, n = [];
1426
1426
  if (Array.isArray(e))
@@ -1432,8 +1432,8 @@ function Fo(t) {
1432
1432
  }
1433
1433
  return { untilS: n.length ? n[n.length - 1].endS : 0, parts: n };
1434
1434
  }
1435
- function Zo(t, e) {
1436
- if (!t.length || e < 0 || e >= t[t.length - 1].endS - Wo) return -1;
1435
+ function Go(t, e) {
1436
+ if (!t.length || e < 0 || e >= t[t.length - 1].endS - Fo) return -1;
1437
1437
  let n = 0, r = t.length - 1;
1438
1438
  for (; n < r; ) {
1439
1439
  const s = n + r + 1 >> 1;
@@ -1441,22 +1441,22 @@ function Zo(t, e) {
1441
1441
  }
1442
1442
  return n;
1443
1443
  }
1444
- function Go(t, e, n, r) {
1444
+ function qo(t, e, n, r) {
1445
1445
  const s = t[e].startS, a = n[r] === s ? r : n[1 - r] === s ? 1 - r : r, o = [];
1446
1446
  n[a] !== s && o.push([a, e]);
1447
1447
  const l = 1 - a;
1448
1448
  return e + 1 < t.length && n[l] !== t[e + 1].startS && o.push([l, e + 1]), { play: a, load: o };
1449
1449
  }
1450
- async function qo(t) {
1450
+ async function Ko(t) {
1451
1451
  const e = await fetch(t, { redirect: "manual", credentials: "omit" });
1452
1452
  if (e.type === "opaqueredirect" || e.status >= 300 && e.status < 400 || e.ok) return { ready: !0 };
1453
1453
  const n = await e.json().catch(() => null);
1454
- return { ready: !1, retryS: Ho(e.status, n), ...Fo(n) };
1454
+ return { ready: !1, retryS: Wo(e.status, n), ...Zo(n) };
1455
1455
  }
1456
1456
  function gr(t) {
1457
1457
  t && (t.pause(), t.removeAttribute("src"), t.load());
1458
1458
  }
1459
- function Ri(t, e) {
1459
+ function $i(t, e) {
1460
1460
  const [n, r] = L("off"), [s, a] = L([]), [o, l] = L(!1), c = k(null), u = k([null, null]), d = k([NaN, NaN]), g = k(0);
1461
1461
  return D(() => {
1462
1462
  if (a([]), l(!1), !t) {
@@ -1466,7 +1466,7 @@ function Ri(t, e) {
1466
1466
  let h = !1, f;
1467
1467
  r("making");
1468
1468
  const m = () => {
1469
- qo(t).then((y) => {
1469
+ Ko(t).then((y) => {
1470
1470
  if (!h) {
1471
1471
  if (y.ready) {
1472
1472
  const j = new Audio();
@@ -1495,35 +1495,35 @@ function Ri(t, e) {
1495
1495
  for (const N of u.current) N && !N.paused && N.pause();
1496
1496
  };
1497
1497
  if (n === "ready" && c.current) {
1498
- h(), ri(c.current, e), l(!0);
1498
+ h(), ii(c.current, e), l(!0);
1499
1499
  return;
1500
1500
  }
1501
- const f = n === "making" ? Zo(s, e.t) : -1;
1501
+ const f = n === "making" ? Go(s, e.t) : -1;
1502
1502
  if (f < 0) {
1503
1503
  h(), l(!1);
1504
1504
  return;
1505
1505
  }
1506
- const m = Go(s, f, d.current, g.current);
1506
+ const m = qo(s, f, d.current, g.current);
1507
1507
  for (const [N, p] of m.load) {
1508
1508
  let b = u.current[N];
1509
1509
  b || (b = new Audio(), b.preload = "auto", u.current[N] = b), b.pause(), b.src = s[p].url, d.current[N] = s[p].startS;
1510
1510
  }
1511
1511
  g.current = m.play;
1512
1512
  const y = u.current[m.play], j = u.current[1 - m.play];
1513
- j && !j.paused && j.pause(), ri(y, { ...e, t: e.t - s[f].startS }), l(!e.playing || y.readyState >= 3);
1513
+ j && !j.paused && j.pause(), ii(y, { ...e, t: e.t - s[f].startS }), l(!e.playing || y.readyState >= 3);
1514
1514
  }, [n, s, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : s.length ? s[s.length - 1].endS : 0 };
1515
1515
  }
1516
- function Ko(t, e) {
1517
- return Ri(t, e).state;
1516
+ function Jo(t, e) {
1517
+ return $i(t, e).state;
1518
1518
  }
1519
- const Jo = 0.5, Xo = 3;
1520
- function Yr(t, e) {
1519
+ const Xo = 0.5, el = 3;
1520
+ function Ur(t, e) {
1521
1521
  let n = -1;
1522
1522
  for (let r = 0; r < t.length && t[r].start <= e + 0.02; r++) n = r;
1523
1523
  return n;
1524
1524
  }
1525
- function el(t, e, n) {
1526
- const r = Yr(t, n);
1525
+ function tl(t, e, n) {
1526
+ const r = Ur(t, n);
1527
1527
  if (r < 0) return { kind: "none" };
1528
1528
  const s = t[r];
1529
1529
  if (n >= s.end) return { kind: "none" };
@@ -1540,22 +1540,22 @@ function el(t, e, n) {
1540
1540
  }
1541
1541
  return { kind: "done", sid: s.sid };
1542
1542
  }
1543
- function tl(t, e, n) {
1543
+ function nl(t, e, n) {
1544
1544
  if (n == null) return !1;
1545
- const r = Yr(t, e);
1545
+ const r = Ur(t, e);
1546
1546
  if (r < 0) return !1;
1547
1547
  const s = t[r];
1548
1548
  return e >= s.end ? s.sid === n : r > 0 && t[r - 1].sid === n && e - s.start < 1.5;
1549
1549
  }
1550
- function nl(t, e, n, r = Xo) {
1551
- const s = Math.max(0, Yr(t, n)), a = [];
1550
+ function rl(t, e, n, r = el) {
1551
+ const s = Math.max(0, Ur(t, n)), a = [];
1552
1552
  for (let o = s; o < t.length && o <= s + r; o++) {
1553
1553
  const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
1554
1554
  l && a.push(l.src);
1555
1555
  }
1556
1556
  return a;
1557
1557
  }
1558
- function rl(t) {
1558
+ function sl(t) {
1559
1559
  const e = ze(() => {
1560
1560
  const c = /* @__PURE__ */ new Map();
1561
1561
  for (const u of t.clips) c.set(u.sentenceId, [...c.get(u.sentenceId) ?? [], u]);
@@ -1576,9 +1576,9 @@ function rl(t) {
1576
1576
  l(), a((m) => m.missing == null && m.sid == null ? m : { missing: null, sid: null });
1577
1577
  return;
1578
1578
  }
1579
- const c = el(t.lines, e, t.t), u = c.kind === "missing" ? c.sid : null, d = c.kind === "none" ? null : c.sid;
1579
+ const c = tl(t.lines, e, t.t), u = c.kind === "missing" ? c.sid : null, d = c.kind === "none" ? null : c.sid;
1580
1580
  a((m) => m.missing === u && m.sid === d ? m : { missing: u, sid: d });
1581
- const g = new Set(nl(t.lines, e, t.t));
1581
+ const g = new Set(rl(t.lines, e, t.t));
1582
1582
  for (const m of g) o(m);
1583
1583
  const h = r.current;
1584
1584
  h && g.add(h.src);
@@ -1588,12 +1588,12 @@ function rl(t) {
1588
1588
  return;
1589
1589
  }
1590
1590
  if (c.kind !== "play") {
1591
- if (h && !h.el.paused && !h.el.ended && tl(t.lines, t.t, h.sid)) return;
1591
+ if (h && !h.el.paused && !h.el.ended && nl(t.lines, t.t, h.sid)) return;
1592
1592
  h && h.el.pause(), r.current = null;
1593
1593
  return;
1594
1594
  }
1595
1595
  if (h && h.src === c.src) {
1596
- if (h.el.muted = t.muted, !h.el.ended && Math.abs(h.el.currentTime - c.offset) > Jo)
1596
+ if (h.el.muted = t.muted, !h.el.ended && Math.abs(h.el.currentTime - c.offset) > Xo)
1597
1597
  try {
1598
1598
  h.el.currentTime = c.offset;
1599
1599
  } catch {
@@ -1613,8 +1613,8 @@ function rl(t) {
1613
1613
  });
1614
1614
  }, [t.on, t.t, t.playing, t.muted, t.lines, e]), s;
1615
1615
  }
1616
- const si = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1617
- function sl(t, e) {
1616
+ const ai = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1617
+ function il(t, e) {
1618
1618
  var n, r;
1619
1619
  if (t === "play") {
1620
1620
  e.playing || e.toggle();
@@ -1630,31 +1630,31 @@ function sl(t, e) {
1630
1630
  }
1631
1631
  (r = e.prev) == null || r.call(e);
1632
1632
  }
1633
- function il(t, e) {
1634
- for (const n of si)
1633
+ function al(t, e) {
1634
+ for (const n of ai)
1635
1635
  try {
1636
1636
  t.setActionHandler(n, () => {
1637
1637
  const r = e();
1638
- r && sl(n, r);
1638
+ r && il(n, r);
1639
1639
  });
1640
1640
  } catch {
1641
1641
  }
1642
1642
  return () => {
1643
- for (const n of si)
1643
+ for (const n of ai)
1644
1644
  try {
1645
1645
  t.setActionHandler(n, null);
1646
1646
  } catch {
1647
1647
  }
1648
1648
  };
1649
1649
  }
1650
- function al(t, e) {
1650
+ function ol(t, e) {
1651
1651
  const n = k(t);
1652
1652
  n.current = t;
1653
1653
  const r = !!t;
1654
1654
  D(() => {
1655
1655
  const a = typeof navigator < "u" ? navigator.mediaSession : void 0;
1656
1656
  if (!(!a || !r))
1657
- return il(a, () => n.current);
1657
+ return al(a, () => n.current);
1658
1658
  }, [r]);
1659
1659
  const s = !!(t != null && t.playing);
1660
1660
  D(() => {
@@ -1686,7 +1686,7 @@ function qt() {
1686
1686
  spans: []
1687
1687
  };
1688
1688
  }
1689
- function ol(t, e) {
1689
+ function ll(t, e) {
1690
1690
  for (const r of t.spans) {
1691
1691
  const s = r.mediaEnd ?? 1 / 0;
1692
1692
  if (e < s || r.mediaEnd == null) return r.wallStart + Math.max(0, e - r.mediaStart);
@@ -1759,11 +1759,11 @@ function Mr(t, e) {
1759
1759
  ])
1760
1760
  ), n;
1761
1761
  }
1762
- function ii(t, e) {
1762
+ function oi(t, e) {
1763
1763
  const n = e ?? {};
1764
1764
  return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
1765
1765
  }
1766
- function ll(t, e) {
1766
+ function cl(t, e) {
1767
1767
  const n = e.tail;
1768
1768
  if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
1769
1769
  let r = !1;
@@ -1780,7 +1780,7 @@ function ll(t, e) {
1780
1780
  }
1781
1781
  return r;
1782
1782
  }
1783
- function cl(t, e) {
1783
+ function ul(t, e) {
1784
1784
  var n;
1785
1785
  switch (delete t.numbers, e.type) {
1786
1786
  case "transcript.committed": {
@@ -1800,7 +1800,7 @@ function cl(t, e) {
1800
1800
  confidence: r.confidence ?? (s == null ? void 0 : s.confidence),
1801
1801
  latencyS: r.latencyS,
1802
1802
  language: r.language,
1803
- translations: ii(s == null ? void 0 : s.translations, r.translations),
1803
+ translations: oi(s == null ? void 0 : s.translations, r.translations),
1804
1804
  scriptPos: r.scriptPos ?? (s == null ? void 0 : s.scriptPos),
1805
1805
  scriptFrom: r.scriptPos != null ? r.scriptFrom ?? void 0 : s == null ? void 0 : s.scriptFrom
1806
1806
  }), r.speakerName && (t.speakers[r.speaker] = r.speakerName);
@@ -1821,7 +1821,7 @@ function cl(t, e) {
1821
1821
  }
1822
1822
  case "transcript.amended": {
1823
1823
  const r = t.segments.get(e.seq);
1824
- if (r && r.corrected && ll(r.words, e)) {
1824
+ if (r && r.corrected && cl(r.words, e)) {
1825
1825
  r.text = e.text, r.words = cn(e.seq, e.tail.words);
1826
1826
  break;
1827
1827
  }
@@ -1869,7 +1869,7 @@ function cl(t, e) {
1869
1869
  seqs: r.seqs,
1870
1870
  speaker: r.speaker,
1871
1871
  start: r.start,
1872
- wallStart: ol(t, r.start),
1872
+ wallStart: ll(t, r.start),
1873
1873
  text: a ? s.text : r.text,
1874
1874
  status: r.status === "open" ? "open" : "closed",
1875
1875
  settled: !!r.settled,
@@ -1878,7 +1878,7 @@ function cl(t, e) {
1878
1878
  suppressed: !!r.suppressed,
1879
1879
  unclear: !!r.unclear,
1880
1880
  language: r.language,
1881
- translations: a ? s.translations : ii(s == null ? void 0 : s.translations, r.translations),
1881
+ translations: a ? s.translations : oi(s == null ? void 0 : s.translations, r.translations),
1882
1882
  provisional: !!r.provisional,
1883
1883
  translationLatencyS: r.translationLatencyS
1884
1884
  }), r.speakerName && (t.speakers[r.speaker] = r.speakerName), r.settled) for (const o of r.seqs) {
@@ -1921,7 +1921,7 @@ function cl(t, e) {
1921
1921
  }
1922
1922
  return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
1923
1923
  }
1924
- function ul(t) {
1924
+ function dl(t) {
1925
1925
  const e = [], n = [...t.sentences.values()].sort((r, s) => r.start - s.start || (r.sentenceId ?? 0) - (s.sentenceId ?? 0));
1926
1926
  for (const r of n) {
1927
1927
  const s = r.seqs.map((l) => t.segments.get(l)).filter(Boolean), a = s.length === r.seqs.length || !r.text ? s.flatMap((l) => l.words) : [], o = s[s.length - 1];
@@ -1934,16 +1934,16 @@ function ul(t) {
1934
1934
  catchup: s.some((l) => l.catchup),
1935
1935
  suppressed: r.suppressed || s.length > 0 && s.every((l) => l.suppressed),
1936
1936
  unclear: r.unclear || s.length > 0 && s.every((l) => l.unclear),
1937
- confidence: dl(s),
1937
+ confidence: hl(s),
1938
1938
  latencyS: o == null ? void 0 : o.latencyS,
1939
1939
  settled: r.settled || s.length > 0 && s.every((l) => l.settled),
1940
- translations: Object.keys(r.translations).length ? r.translations : hl(s),
1940
+ translations: Object.keys(r.translations).length ? r.translations : gl(s),
1941
1941
  speaker: r.speaker >= 0 ? r.speaker : (o == null ? void 0 : o.speaker) ?? -1
1942
1942
  });
1943
1943
  }
1944
1944
  return e.sort((r, s) => r.start - s.start), e;
1945
1945
  }
1946
- function dl(t) {
1946
+ function hl(t) {
1947
1947
  let e = 0, n = 0;
1948
1948
  for (const r of t) {
1949
1949
  if (r.confidence == null) continue;
@@ -1952,20 +1952,20 @@ function dl(t) {
1952
1952
  }
1953
1953
  return n ? e / n : void 0;
1954
1954
  }
1955
- function hl(t) {
1955
+ function gl(t) {
1956
1956
  const e = {};
1957
1957
  for (const n of t) for (const [r, s] of Object.entries(n.translations)) e[r] = e[r] ? `${e[r]} ${s}` : s;
1958
1958
  return e;
1959
1959
  }
1960
- const gl = 0.85, Ml = 0.75;
1961
- function fl(t) {
1962
- return t == null ? "" : t < Ml ? "low" : t < gl ? "mid" : "";
1960
+ const Ml = 0.85, fl = 0.75;
1961
+ function pl(t) {
1962
+ return t == null ? "" : t < fl ? "low" : t < Ml ? "mid" : "";
1963
1963
  }
1964
1964
  const Sn = ["a", "b", "c", "d", "e", "f", "g", "h"];
1965
- function pl(t) {
1965
+ function ml(t) {
1966
1966
  return Sn[(t % Sn.length + Sn.length) % Sn.length];
1967
1967
  }
1968
- function ml(t) {
1968
+ function Nl(t) {
1969
1969
  if (t.numbers) return t.numbers;
1970
1970
  const e = /* @__PURE__ */ new Map(), n = (a, o) => {
1971
1971
  if (a < 0) return;
@@ -1981,26 +1981,26 @@ function ml(t) {
1981
1981
  }
1982
1982
  function Pn(t, e) {
1983
1983
  if (e < 0) return 0;
1984
- const n = ml(t);
1984
+ const n = Nl(t);
1985
1985
  return n.get(e) ?? n.size + 1 + e;
1986
1986
  }
1987
- const Nl = /^\s*speaker\s+\d+\s*$/i;
1988
- function ai(t) {
1989
- return t && t.trim() && !Nl.test(t) ? t : void 0;
1987
+ const yl = /^\s*speaker\s+\d+\s*$/i;
1988
+ function li(t) {
1989
+ return t && t.trim() && !yl.test(t) ? t : void 0;
1990
1990
  }
1991
- function Pi(t, e) {
1991
+ function Qi(t, e) {
1992
1992
  var n;
1993
- return ai(t.speakers[e]) ?? ai((n = t.speakerIds[e]) == null ? void 0 : n.name);
1993
+ return li(t.speakers[e]) ?? li((n = t.speakerIds[e]) == null ? void 0 : n.name);
1994
1994
  }
1995
- function Ur(t, e) {
1996
- return e < 0 ? "" : Pi(t, e) ?? `Speaker ${Pn(t, e)}`;
1995
+ function Rr(t, e) {
1996
+ return e < 0 ? "" : Qi(t, e) ?? `Speaker ${Pn(t, e)}`;
1997
1997
  }
1998
- function $i(t, e) {
1998
+ function Bi(t, e) {
1999
1999
  if (e < 0) return "?";
2000
- const n = Pi(t, e);
2000
+ const n = Qi(t, e);
2001
2001
  return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((s) => s[0]).join("") || `S${Pn(t, e)}`).toUpperCase() : `S${Pn(t, e)}`;
2002
2002
  }
2003
- function yl(t) {
2003
+ function Tl(t) {
2004
2004
  if (t) {
2005
2005
  if (t.startsWith("#"))
2006
2006
  return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
@@ -2008,11 +2008,11 @@ function yl(t) {
2008
2008
  return { fg: `var(--vx-${t})`, soft: `var(--vx-${t}-soft)` };
2009
2009
  }
2010
2010
  }
2011
- function Rr(t, e) {
2012
- const n = t.speakerIds[e], r = yl(n == null ? void 0 : n.color);
2013
- return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: pl(Pn(t, e) - 1), hasVoice: !!n };
2011
+ function Pr(t, e) {
2012
+ const n = t.speakerIds[e], r = Tl(n == null ? void 0 : n.color);
2013
+ return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: ml(Pn(t, e) - 1), hasVoice: !!n };
2014
2014
  }
2015
- function Tl(t, e, n, r = !1) {
2015
+ function wl(t, e, n, r = !1) {
2016
2016
  const s = n ? n.speakerLabels ?? "auto" : null, a = (r ? s : null) ?? t.labels ?? s ?? "on";
2017
2017
  if (a !== "auto") return a === "on";
2018
2018
  const o = /* @__PURE__ */ new Set();
@@ -2020,7 +2020,7 @@ function Tl(t, e, n, r = !1) {
2020
2020
  return !0;
2021
2021
  return !1;
2022
2022
  }
2023
- const wl = /* @__PURE__ */ new Set([
2023
+ const vl = /* @__PURE__ */ new Set([
2024
2024
  "invalid_audio",
2025
2025
  "invalid_options",
2026
2026
  "invalid_token",
@@ -2045,14 +2045,14 @@ const wl = /* @__PURE__ */ new Set([
2045
2045
  "invalid_request",
2046
2046
  "aborted",
2047
2047
  "unauthorized"
2048
- ]), Qi = {
2048
+ ]), Vi = {
2049
2049
  internal: "Something went wrong on our side. Please try again.",
2050
2050
  unavailable: "VocalStack is briefly unavailable. Please try again in a moment.",
2051
2051
  engine_unavailable: "No transcription engine is available right now. Please try again in a moment.",
2052
2052
  engine_lost: "The transcription engine stopped. Please try again.",
2053
2053
  capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
2054
2054
  timeout: "That took too long. Please try again."
2055
- }, br = Qi.internal, fr = "Can't reach VocalStack. Check your connection.", oi = {
2055
+ }, br = Vi.internal, fr = "Can't reach VocalStack. Check your connection.", ci = {
2056
2056
  NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
2057
2057
  NotSupportedError: "The audio couldn't be loaded. Try again in a moment.",
2058
2058
  AbortError: "It was cancelled."
@@ -2061,30 +2061,30 @@ function zt(t) {
2061
2061
  const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, r = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, s = e == null ? void 0 : e.details;
2062
2062
  if (n || r && r >= 400) {
2063
2063
  const o = typeof (e == null ? void 0 : e.requestId) == "string" && e.requestId ? { requestId: e.requestId } : {};
2064
- return n && wl.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s, ...o } : n === "unavailable" && r === void 0 ? { message: fr, code: n, details: s, ...o } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : fr, code: n, status: r, details: s, ...o } : { message: n && Qi[n] || br, code: n, status: r, details: s, ...o };
2064
+ return n && vl.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s, ...o } : n === "unavailable" && r === void 0 ? { message: fr, code: n, details: s, ...o } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : fr, code: n, status: r, details: s, ...o } : { message: n && Vi[n] || br, code: n, status: r, details: s, ...o };
2065
2065
  }
2066
2066
  const a = (e == null ? void 0 : e.name) ?? "";
2067
- return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && zi(t instanceof Error ? t : new Error(String(t))), { message: fr }) : oi[a] ? { message: oi[a] } : t instanceof Error && a === "Error" && !(t instanceof Li) ? { message: t.message } : { message: br };
2067
+ return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && bi(t instanceof Error ? t : new Error(String(t))), { message: fr }) : ci[a] ? { message: ci[a] } : t instanceof Error && a === "Error" && !(t instanceof ji) ? { message: t.message } : { message: br };
2068
2068
  }
2069
- const Bi = "https://api.vocalstack.com", Pr = vi(null);
2069
+ const Hi = "https://api.vocalstack.com", $r = ki(null);
2070
2070
  function Vt() {
2071
- const t = Qa(Pr);
2071
+ const t = Va($r);
2072
2072
  if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
2073
2073
  return t;
2074
2074
  }
2075
- function vl(t) {
2076
- return t.value ? /* @__PURE__ */ i(Pr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(Ll, { ...t });
2075
+ function Ll(t) {
2076
+ return t.value ? /* @__PURE__ */ i($r.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(kl, { ...t });
2077
2077
  }
2078
- function Ll({ children: t, ...e }) {
2079
- const n = Vi(e);
2080
- return /* @__PURE__ */ i(Pr.Provider, { value: n, children: t });
2078
+ function kl({ children: t, ...e }) {
2079
+ const n = Wi(e);
2080
+ return /* @__PURE__ */ i($r.Provider, { value: n, children: t });
2081
2081
  }
2082
- const kl = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
2083
- function jl(t) {
2084
- return kl.test(t);
2082
+ const jl = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
2083
+ function zl(t) {
2084
+ return jl.test(t);
2085
2085
  }
2086
- function Vi(t) {
2087
- const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || jl(t.id)), s = (t.baseUrl ?? Bi).replace(/\/$/, ""), a = k(t.token);
2086
+ function Wi(t) {
2087
+ const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || zl(t.id)), s = (t.baseUrl ?? Hi).replace(/\/$/, ""), a = k(t.token);
2088
2088
  a.current = t.token;
2089
2089
  const o = !!t.token, l = ze(() => async () => {
2090
2090
  const h = a.current;
@@ -2102,7 +2102,7 @@ function Vi(t) {
2102
2102
  h = !1;
2103
2103
  };
2104
2104
  }, [r, l]);
2105
- const d = t.client ?? null, g = ze(() => d ?? new ki({ baseUrl: s, token: o && !e ? l : void 0 }), [d, s, o, l, e]);
2105
+ const d = t.client ?? null, g = ze(() => d ?? new zi({ baseUrl: s, token: o && !e ? l : void 0 }), [d, s, o, l, e]);
2106
2106
  return ze(() => {
2107
2107
  if (e) return { client: g, origin: s, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
2108
2108
  if (n) return { client: g, origin: s, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
@@ -2110,10 +2110,10 @@ function Vi(t) {
2110
2110
  return { client: g, origin: s, owner: r, shareCode: h, listen: null, bearer: l, cred: r ? { accessToken: c ?? void 0 } : { shareCode: h }, readAs: h ? { shareCode: h } : {} };
2111
2111
  }, [g, s, r, t.id, l, e, n, c]);
2112
2112
  }
2113
- function zl(t, e) {
2113
+ function Il(t, e) {
2114
2114
  return e ? { ...t, cred: { ...t.cred, media: e } } : t;
2115
2115
  }
2116
- async function Il(t, e) {
2116
+ async function bl(t, e) {
2117
2117
  if (t.listen) {
2118
2118
  const r = await t.client.recordings.get(t.listen.recordingId, t.readAs), s = r;
2119
2119
  return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: s.name ?? s.title ?? "", recording: r, job: s.job ?? (s.source ? { source: s.source } : null), allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
@@ -2138,11 +2138,11 @@ async function Il(t, e) {
2138
2138
  sharedBy: n.sharedBy ?? null
2139
2139
  };
2140
2140
  }
2141
- function bl(t, e) {
2141
+ function Ol(t, e) {
2142
2142
  const [n, r] = L(null), [s, a] = L(!1), [o, l] = L(null), [c, u] = L(0);
2143
2143
  return D(() => {
2144
2144
  let d = !0;
2145
- return Il(t, e).then((g) => {
2145
+ return bl(t, e).then((g) => {
2146
2146
  d && (r(g), a(!1), l(null));
2147
2147
  }).catch((g) => {
2148
2148
  if (!d) return;
@@ -2153,7 +2153,7 @@ function bl(t, e) {
2153
2153
  };
2154
2154
  }, [t, e, c]), { source: n, gone: s, error: o, reload: () => u((d) => d + 1) };
2155
2155
  }
2156
- function Ol(t, e) {
2156
+ function Cl(t, e) {
2157
2157
  const [n, r] = L(null);
2158
2158
  return D(() => {
2159
2159
  if (!t.owner || !e) {
@@ -2174,7 +2174,7 @@ function Ol(t, e) {
2174
2174
  };
2175
2175
  }, [t, e]), n;
2176
2176
  }
2177
- async function li(t, e, n = {}) {
2177
+ async function ui(t, e, n = {}) {
2178
2178
  const r = new URLSearchParams();
2179
2179
  for (const [o, l] of Object.entries(n.query ?? {})) l != null && r.set(o, l);
2180
2180
  t.shareCode && r.set("shareCode", t.shareCode), t.listen && r.set("listenerToken", t.listen.token);
@@ -2187,7 +2187,7 @@ async function li(t, e, n = {}) {
2187
2187
  return fetch(`${t.origin}${e}${a ? `${e.includes("?") ? "&" : "?"}${a}` : ""}`, { method: n.method ?? "GET", headers: s, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
2188
2188
  }
2189
2189
  const pr = /* @__PURE__ */ new Map();
2190
- function Hi() {
2190
+ function Fi() {
2191
2191
  const t = Vt(), [e, n] = L(pr.get(t.origin) ?? null);
2192
2192
  return D(() => {
2193
2193
  pr.has(t.origin) || t.client.languages.list().then((r) => {
@@ -2196,7 +2196,7 @@ function Hi() {
2196
2196
  });
2197
2197
  }, [t]), e;
2198
2198
  }
2199
- function Wi(t, e) {
2199
+ function Zi(t, e) {
2200
2200
  const [n, r] = L(null), [s, a] = L(null), [o, l] = L(0);
2201
2201
  return D(() => {
2202
2202
  let c = !0;
@@ -2205,8 +2205,8 @@ function Wi(t, e) {
2205
2205
  };
2206
2206
  }, [...e, o]), { data: n, error: s, reload: () => l((c) => c + 1) };
2207
2207
  }
2208
- const Cl = (t) => new Promise((e) => setTimeout(e, t)), xl = 2500, Sl = 72;
2209
- function Dl(t, e) {
2208
+ const xl = (t) => new Promise((e) => setTimeout(e, t)), Sl = 2500, Dl = 72;
2209
+ function Al(t, e) {
2210
2210
  const n = Vt(), r = k(n);
2211
2211
  r.current = n;
2212
2212
  const [s, a] = L(qt), o = k(qt()), l = k(null), c = k(e.lang ?? null), [u, d] = L(!1), [g, h] = L(null), [f, m] = L(!1), y = Ke(() => {
@@ -2240,7 +2240,7 @@ function Dl(t, e) {
2240
2240
  if (le.type === "snapshot")
2241
2241
  o.current = Mr(le.snapshot, le.reason === "gap" ? o.current : qt()), y(), te();
2242
2242
  else if (le.type === "frame") {
2243
- cl(o.current, le.frame);
2243
+ ul(o.current, le.frame);
2244
2244
  const Te = le.frame;
2245
2245
  Te.type === "recording.state" && (O = o.current.state, (v = (K = j.current).onState) == null || v.call(K, Te.state, Te.reason)), (ne = (ie = j.current).onFrame) == null || ne.call(ie, Te), y();
2246
2246
  } else le.type === "closed" && d(!1);
@@ -2275,7 +2275,7 @@ function Dl(t, e) {
2275
2275
  }
2276
2276
  const J = o.current.state;
2277
2277
  if (!A || J === "ended" || J === "finalized" || J === "processing") return;
2278
- T += 1, await Cl(Math.min(15e3, 1e3 * 2 ** Math.min(T, 4)));
2278
+ T += 1, await xl(Math.min(15e3, 1e3 * 2 ** Math.min(T, 4)));
2279
2279
  }
2280
2280
  })(), () => {
2281
2281
  var K;
@@ -2291,9 +2291,9 @@ function Dl(t, e) {
2291
2291
  _ === S.current && (o.current = Mr(v, o.current), Y(A), y(), v.translationPending && K > 0 && window.setTimeout(() => {
2292
2292
  _ === S.current && O(K - 1).catch(() => {
2293
2293
  });
2294
- }, xl));
2294
+ }, Sl));
2295
2295
  });
2296
- O(Sl).catch(() => {
2296
+ O(Dl).catch(() => {
2297
2297
  _ === S.current && A && C(A);
2298
2298
  }).finally(() => {
2299
2299
  _ === S.current && p(!1);
@@ -2309,7 +2309,7 @@ function Dl(t, e) {
2309
2309
  }, [y]), F = Ke(() => h(null), []);
2310
2310
  return { model: s, connected: u, error: g, notFound: f, clearError: F, setLanguage: ee, mergeTranslations: I, translating: N, translateFailed: b, shownLang: B };
2311
2311
  }
2312
- const ci = {
2312
+ const di = {
2313
2313
  English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
2314
2314
  Spanish: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Activar", vcMuted: "SILENCIADO", vcShared: "También la usa", vcUsedBy: "La usa", vcUnknownSpk: "Desconocido", vcUse: "Usar esta voz", vcGetting: "Descargando…", vcSample: "Así suena esta voz.", vcPreview: "MUESTRA", vcMale: "Hombre", vcFemale: "Mujer", vcSynth: "SINTÉTICA", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCES", vcBadge: "CLONADA", vcNone: "SOLO TEXTO", vcNoVoice: "Sin voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Buscar en esta emisión", noise: "Audio poco claro", newLines: "nuevas", live: "EN VIVO", ended: "FINALIZADA", waiting: "EN ESPERA", corrected: "CORREGIDO", hostLine: "Presenta Marcus Reed · 4 hablantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Leer", listen: "Escuchar", watch: "Ver", waitTitle: "La emisión aún no ha comenzado", waitBody: "La transcripción aparecerá aquí en cuanto el anfitrión empiece a hablar.", english: "INGLÉS", playing: "Reproduciendo la traducción al español", ready: "Toca para iniciar el audio", readyNote: "Ajusta el volumen primero", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DE LA APP", done: "Listo", search: "Buscar entre 100+ idiomas", sheetNote: "Sigue la emisión en tu idioma.", moreLangs: "más", confTitle: "Algunas palabras no se oyeron bien", confBody: "La transcripción marca las palabras dudosas con un subrayado discontinuo. Las palabras conservan su color, así que solo el subrayado te indica dónde mirar.", confMid: "Poca duda: probablemente correcta", confHigh: "Baja confianza: puede estar mal", settings: "EMISIÓN", setOrig: "Mostrar idioma original", setTheme: "Apariencia", light: "Claro", dark: "Oscuro", setConf: "Mostrar palabras dudosas", setConfHint1: "Colorea las palabras dudosas: ", setConfMid: "ámbar", setConfSep: " o ", setConfLow: "rojo", setConfHint2: "", behindLive: "LATENCIA DE TRADUCCIÓN", behindNote: "Cuánto se retrasa la traducción respecto a quien habla.", shareLabel: "ENLACE PARA SEGUIR", copy: "Copiar", copied: "Copiado" },
2315
2315
  French: { vcFor: "Voix de", vcMute: "Couper", vcUnmute: "Réactiver", vcMuted: "COUPÉ", vcShared: "Aussi utilisée par", vcUsedBy: "Utilisée par", vcUnknownSpk: "Inconnu", vcUse: "Utiliser cette voix", vcGetting: "Téléchargement…", vcSample: "Voici le rendu.", vcPreview: "APERÇU", vcMale: "Homme", vcFemale: "Femme", vcSynth: "SYNTHÉTIQUE", origAudio: "AUDIO ORIGINAL", vcCloned: "VOIX", vcBadge: "CLONÉE", vcNone: "TEXTE SEUL", vcNoVoice: "Aucune voix pour ", vcSheet: "VOIX", vcNeutral: "VOIX SYNTHÉTIQUE", vcWarm: "VOIX SYNTHÉTIQUE", searchPlaceholder: "Rechercher dans la diffusion", noise: "Audio peu clair", newLines: "nouvelles", live: "EN DIRECT", ended: "TERMINÉ", waiting: "EN ATTENTE", corrected: "CORRIGÉ", hostLine: "Animé par Marcus Reed · 4 intervenants", langLabel: "LANGUE", langCount: "100+ langues", read: "Lire", listen: "Écouter", watch: "Regarder", waitTitle: "La diffusion n’a pas encore commencé", waitBody: "La transcription s’affichera ici dès que l’animateur prendra la parole.", english: "ANGLAIS", playing: "Lecture de la traduction française", ready: "Touchez pour lancer l'audio", readyNote: "Réglez le volume d'abord", voiceMeta: "VOIX NEUTRE", voice: "Voix", sheetTitle: "LANGUE DE L'APP", done: "Terminé", search: "Rechercher parmi 100+ langues", sheetNote: "Suivez la diffusion dans votre langue.", moreLangs: "autres", confTitle: "Certains mots n'ont pas été bien entendus", confBody: "La transcription marque les mots incertains d'un soulignement en pointillés. Les mots gardent leur couleur : seul le soulignement attire l'attention.", confMid: "Léger doute — probablement juste", confHigh: "Faible confiance — peut être faux", settings: "DIFFUSION", setOrig: "Afficher la langue d'origine", setTheme: "Apparence", light: "Clair", dark: "Sombre", setConf: "Afficher les mots incertains", setConfHint1: "Colore les mots incertains — ", setConfMid: "ambre", setConfSep: " ou ", setConfLow: "rouge", setConfHint2: "", behindLive: "LATENCE DE TRADUCTION", behindNote: "De combien la traduction suit le locuteur en ce moment.", shareLabel: "LIEN DE SUIVI", copy: "Copier", copied: "Copié" },
@@ -2317,13 +2317,13 @@ const ci = {
2317
2317
  Romanian: { vcFor: "Vocea pentru", vcMute: "Oprește", vcUnmute: "Pornește", vcMuted: "OPRIT", vcShared: "Folosită și de", vcUsedBy: "Folosită de", vcUnknownSpk: "Necunoscut", vcUse: "Folosește această voce", vcGetting: "Se descarcă…", vcSample: "Așa sună această voce.", vcPreview: "MOSTRĂ", vcMale: "Bărbat", vcFemale: "Femeie", vcSynth: "SINTETICĂ", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCI", vcBadge: "CLONATĂ", vcNone: "DOAR TEXT", vcNoVoice: "Nicio voce pentru ", vcSheet: "VOCE", vcNeutral: "VOCE SINTETICĂ", vcWarm: "VOCE SINTETICĂ", searchPlaceholder: "Caută în transmisiune", noise: "Sunet neclar", newLines: "noi", live: "ÎN DIRECT", ended: "ÎNCHEIAT", waiting: "ÎN AȘTEPTARE", corrected: "CORECTAT", hostLine: "Prezentat de Marcus Reed · 4 vorbitori", langLabel: "LIMBĂ", langCount: "100+ de limbi", read: "Citește", listen: "Ascultă", watch: "Vizionează", waitTitle: "Transmisiunea nu a început încă", waitBody: "Transcrierea va apărea aici imediat ce gazda începe să vorbească.", english: "ENGLEZĂ", playing: "Se redă traducerea în română", ready: "Atinge pentru a porni audio", readyNote: "Reglează întâi volumul", voiceMeta: "VOCE NEUTRĂ", voice: "Voce", sheetTitle: "LIMBA APLICAȚIEI", done: "Gata", search: "Caută printre 100+ de limbi", sheetNote: "Urmărește transmisiunea în limba ta.", moreLangs: "în plus", confTitle: "Unele cuvinte nu s-au auzit clar", confBody: "Transcrierea marchează cuvintele incerte cu o subliniere întreruptă. Cuvintele își păstrează culoarea, doar sublinierea îți arată unde să te uiți.", confMid: "Ușoară nesiguranță — probabil corect", confHigh: "Încredere scăzută — poate fi greșit", settings: "TRANSMISIUNE", setOrig: "Arată limba originală", setTheme: "Aspect", light: "Luminos", dark: "Întunecat", setConf: "Arată cuvintele incerte", setConfHint1: "Colorează cuvintele incerte — ", setConfMid: "galben", setConfSep: " sau ", setConfLow: "roșu", setConfHint2: "", behindLive: "LATENȚA TRADUCERII", behindNote: "Cu cât urmează traducerea vorbitorul în acest moment.", shareLabel: "LINK DE URMĂRIRE", copy: "Copiază", copied: "Copiat" },
2318
2318
  Portuguese: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Ativar", vcMuted: "SILENCIADO", vcShared: "Também usada por", vcUsedBy: "Usada por", vcUnknownSpk: "Desconhecido", vcUse: "Usar esta voz", vcGetting: "Baixando…", vcSample: "É assim que soa.", vcPreview: "AMOSTRA", vcMale: "Homem", vcFemale: "Mulher", vcSynth: "SINTÉTICA", origAudio: "ÁUDIO ORIGINAL", vcCloned: "VOZES", vcBadge: "CLONADA", vcNone: "SÓ TEXTO", vcNoVoice: "Sem voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Pesquisar nesta transmissão", noise: "Áudio pouco claro", newLines: "novas", live: "AO VIVO", ended: "ENCERRADA", waiting: "AGUARDANDO", corrected: "CORRIGIDO", hostLine: "Apresentado por Marcus Reed · 4 falantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Ler", listen: "Ouvir", watch: "Assistir", waitTitle: "A transmissão ainda não começou", waitBody: "A transcrição aparece aqui assim que o apresentador começar a falar.", english: "INGLÊS", playing: "Reproduzindo a tradução em português", ready: "Toque para iniciar o áudio", readyNote: "Ajuste o volume primeiro", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DO APP", done: "Concluído", search: "Pesquisar entre 100+ idiomas", sheetNote: "Acompanhe a transmissão no seu idioma.", moreLangs: "mais", confTitle: "Algumas palavras não foram bem ouvidas", confBody: "A transcrição marca as palavras duvidosas com um sublinhado tracejado. As palavras mantêm a sua cor, por isso só o sublinhado indica onde olhar.", confMid: "Pouca dúvida — provavelmente certa", confHigh: "Baixa confiança — pode estar errada", settings: "TRANSMISSÃO", setOrig: "Mostrar idioma original", setTheme: "Aparência", light: "Claro", dark: "Escuro", setConf: "Mostrar palavras duvidosas", setConfHint1: "Colore as palavras duvidosas: ", setConfMid: "âmbar", setConfSep: " ou ", setConfLow: "vermelho", setConfHint2: "", behindLive: "LATÊNCIA DE TRADUÇÃO", behindNote: "Quanto a tradução está atrás de quem fala agora.", shareLabel: "LINK PARA ACOMPANHAR", copy: "Copiar", copied: "Copiado" }
2319
2319
  };
2320
- function Fi(t) {
2321
- return t && ci[t] || ci.English;
2320
+ function Gi(t) {
2321
+ return t && di[t] || di.English;
2322
2322
  }
2323
- async function Zi(t) {
2323
+ async function qi(t) {
2324
2324
  var s, a, o, l, c;
2325
2325
  const e = await t.json().catch(() => null), n = ((s = e == null ? void 0 : e.error) == null ? void 0 : s.code) ?? (e == null ? void 0 : e.code), r = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
2326
- return new Li(typeof n == "string" ? n : "internal", typeof r == "string" ? r : br, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
2326
+ return new ji(typeof n == "string" ? n : "internal", typeof r == "string" ? r : br, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
2327
2327
  }
2328
2328
  function mr(t) {
2329
2329
  switch (t) {
@@ -2341,14 +2341,14 @@ function mr(t) {
2341
2341
  return "queued";
2342
2342
  }
2343
2343
  }
2344
- function Al(t) {
2344
+ function El(t) {
2345
2345
  return t ? t.progress ? { state: t.state, processedS: t.progress.processedS, totalS: t.progress.totalS ?? null, segmentsDone: t.progress.segmentsDone, segmentsTotal: t.progress.segmentsTotal ?? null, pct: t.progress.pct, error: t.error ?? null } : t.state ? { state: t.state, processedS: 0, totalS: null, segmentsDone: 0, segmentsTotal: null, pct: 0, error: t.error ?? null } : null : null;
2346
2346
  }
2347
- const El = (t, e) => {
2347
+ const _l = (t, e) => {
2348
2348
  const n = (t == null ? void 0 : t.segmentsDone) ?? e, r = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
2349
2349
  return `${n} / ${r} SEGMENTS`;
2350
2350
  };
2351
- function _l(t, e) {
2351
+ function Yl(t, e) {
2352
2352
  var s;
2353
2353
  const n = ((s = t == null ? void 0 : t.source) == null ? void 0 : s.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, r = t == null ? void 0 : t.crop;
2354
2354
  if (r && (r.startS != null || r.endS != null)) {
@@ -2363,24 +2363,24 @@ const Or = [
2363
2363
  { key: "srt", name: "Subtitles", ext: "SRT / VTT", note: "Timed caption cues, ready for a video editor or a player.", icon: "M2.25 15.75V8.25A2.25 2.25 0 0 1 4.5 6h15a2.25 2.25 0 0 1 2.25 2.25v7.5A2.25 2.25 0 0 1 19.5 18h-15a2.25 2.25 0 0 1-2.25-2.25Zm4.5-4.5h4.5m-4.5 3h1.5m3 0h6m-3-3h3" },
2364
2364
  { key: "json", name: "JSON", ext: "JSON", note: "Word-level timings, confidence scores and speaker turns.", icon: "M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5" }
2365
2365
  ];
2366
- function $r(t) {
2366
+ function Qr(t) {
2367
2367
  const e = document.createElement("a");
2368
2368
  e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
2369
2369
  }
2370
- async function Yl(t) {
2370
+ async function Ul(t) {
2371
2371
  const e = await fetch(t, { redirect: "manual" });
2372
- if (e.type !== "opaqueredirect" && !e.ok) throw await Zi(e);
2373
- $r(t);
2372
+ if (e.type !== "opaqueredirect" && !e.ok) throw await qi(e);
2373
+ Qr(t);
2374
2374
  }
2375
- async function Ul(t, e, n, r = {}) {
2375
+ async function Rl(t, e, n, r = {}) {
2376
2376
  var h, f;
2377
2377
  const s = await t.client.recordings.export(e, n, { lang: r.lang ?? void 0, ...t.readAs });
2378
- if (!s.ok) throw await Zi(s);
2378
+ if (!s.ok) throw await qi(s);
2379
2379
  const a = await s.blob(), o = s.headers.get("content-disposition") ?? "", l = (h = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : h[1], c = (f = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : f[1], u = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, d = URL.createObjectURL(a), g = document.createElement("a");
2380
2380
  g.href = d, g.download = u, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(d), 6e4);
2381
2381
  }
2382
- async function Rl(t, e) {
2383
- const { recordingId: n, lang: r, voiceKey: s, cred: a } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) => xi(d, s);
2382
+ async function Pl(t, e) {
2383
+ const { recordingId: n, lang: r, voiceKey: s, cred: a } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) => Di(d, s);
2384
2384
  let c = l(await o());
2385
2385
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2386
2386
  const u = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2389,25 +2389,25 @@ async function Rl(t, e) {
2389
2389
  if (Date.now() > u) throw new Error("The spoken track is taking too long; try again in a moment.");
2390
2390
  await new Promise((d) => setTimeout(d, 4e3)), c = l(await o());
2391
2391
  }
2392
- $r(lo(t.origin, n, r, c.voiceKey, a));
2392
+ Qr(uo(t.origin, n, r, c.voiceKey, a));
2393
2393
  }
2394
- const Gi = (t) => {
2394
+ const Ki = (t) => {
2395
2395
  var e;
2396
2396
  return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
2397
- }, Pl = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, ui = 0.3, $l = 1.5;
2398
- function qi(t, e, n) {
2397
+ }, $l = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, hi = 0.3, Ql = 1.5;
2398
+ function Ji(t, e, n) {
2399
2399
  var s;
2400
2400
  const r = (s = t.words[t.words.length - 1]) == null ? void 0 : s.end;
2401
2401
  return r != null && r > t.start ? r : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
2402
2402
  }
2403
- function Ql(t, e, n) {
2403
+ function Bl(t, e, n) {
2404
2404
  var c, u;
2405
2405
  const r = t[e];
2406
2406
  if (!r) return !1;
2407
- const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - ui, a = t[e + 1], o = qi(r, a, r.start + 4) + $l, l = a ? Math.min(o, (((u = a.words[0]) == null ? void 0 : u.start) ?? a.start) - ui) : o;
2407
+ const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - hi, a = t[e + 1], o = Ji(r, a, r.start + 4) + Ql, l = a ? Math.min(o, (((u = a.words[0]) == null ? void 0 : u.start) ?? a.start) - hi) : o;
2408
2408
  return n >= s && n < Math.max(l, s + 0.5);
2409
2409
  }
2410
- function Bl(t, e, n) {
2410
+ function Vl(t, e, n) {
2411
2411
  const r = Math.max(0, n - e), s = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), a = s.reduce((l, c) => l + c, 0) || 1;
2412
2412
  let o = e;
2413
2413
  return t.map((l, c) => {
@@ -2422,7 +2422,7 @@ function Nr(t) {
2422
2422
  bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
2423
2423
  };
2424
2424
  }
2425
- function Vl(t, e, n = 0) {
2425
+ function Hl(t, e, n = 0) {
2426
2426
  const r = k(() => {
2427
2427
  });
2428
2428
  D(() => {
@@ -2485,10 +2485,10 @@ function Vl(t, e, n = 0) {
2485
2485
  };
2486
2486
  }, []);
2487
2487
  }
2488
- function Hl({ thumbRef: t }) {
2488
+ function Wl({ thumbRef: t }) {
2489
2489
  return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
2490
2490
  }
2491
- function Wl({ error: t, onClose: e }) {
2491
+ function Fl({ error: t, onClose: e }) {
2492
2492
  const n = k(e);
2493
2493
  n.current = e;
2494
2494
  const [r, s] = L(!1), [a, o] = L(!1), l = k();
@@ -2521,10 +2521,10 @@ Request id: ${t.requestId}` : t.message;
2521
2521
  /* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(oe, { d: X.close, size: 14 }) })
2522
2522
  ] });
2523
2523
  }
2524
- function Ki({ color: t }) {
2524
+ function Xi({ color: t }) {
2525
2525
  return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: X.voiceClone, size: 13, sw: 1.7, stroke: t }) });
2526
2526
  }
2527
- function Hu({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, next: l }) {
2527
+ function Wu({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, next: l }) {
2528
2528
  return /* @__PURE__ */ M("div", { className: "vs-tt", children: [
2529
2529
  /* @__PURE__ */ M("div", { className: "vs-tt__r1", children: [
2530
2530
  /* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
@@ -2541,7 +2541,7 @@ function Hu({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, n
2541
2541
  ] })
2542
2542
  ] });
2543
2543
  }
2544
- function Fl({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
2544
+ function Zl({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
2545
2545
  const g = k(null), h = k(!1), [f, m] = L(null), y = Math.max(1, e), j = f ?? u, N = j != null ? Math.min(100, Math.max(0, j * 100)) : t / Math.max(1, y - 1) * 100, p = u != null && d > 0 && f == null ? `width ${d}ms linear, left ${d}ms linear` : "none", b = (S) => {
2546
2546
  var I;
2547
2547
  const B = (I = g.current) == null ? void 0 : I.getBoundingClientRect();
@@ -2585,7 +2585,7 @@ function Fl({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek:
2585
2585
  ] })
2586
2586
  ] });
2587
2587
  }
2588
- function Zl(t, e, n) {
2588
+ function Gl(t, e, n) {
2589
2589
  const r = new Set(t.seqs ?? t.words.map((l) => l.seq)), s = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && r.has(l.seq) && (l.kind === "word" || l.kind === "line")), a = s.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
2590
2590
  return {
2591
2591
  script: a ? 0 : t.words.filter((l) => l.script && !o(l)).length,
@@ -2593,7 +2593,7 @@ function Zl(t, e, n) {
2593
2593
  manualCount: a ? 0 : s.filter((l) => l.kind === "word").length
2594
2594
  };
2595
2595
  }
2596
- function Gl({ f: t, desk: e, onOpen: n }) {
2596
+ function ql({ f: t, desk: e, onOpen: n }) {
2597
2597
  const r = (s, a, o) => /* @__PURE__ */ M("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2598
2598
  l.stopPropagation(), n == null || n();
2599
2599
  }, children: [
@@ -2606,7 +2606,7 @@ function Gl({ f: t, desk: e, onOpen: n }) {
2606
2606
  t.manual && r(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
2607
2607
  ] });
2608
2608
  }
2609
- function ql({ onOpen: t, alone: e }) {
2609
+ function Kl({ onOpen: t, alone: e }) {
2610
2610
  const [n, r] = L(!1);
2611
2611
  return /* @__PURE__ */ M("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => r(!0), onMouseLeave: () => r(!1), onClick: (s) => {
2612
2612
  s.stopPropagation(), t();
@@ -2615,7 +2615,7 @@ function ql({ onOpen: t, alone: e }) {
2615
2615
  n && "FIX"
2616
2616
  ] });
2617
2617
  }
2618
- function Kl(t, e, n, r) {
2618
+ function Jl(t, e, n, r) {
2619
2619
  const s = Vt(), [a, o] = L([]), [l, c] = L(0), u = k(/* @__PURE__ */ new Set()), d = k(!1), g = ze(() => new Map(n.filter((f) => f.sentenceId != null).map((f) => [f.sentenceId, f])), [n]);
2620
2620
  D(() => {
2621
2621
  u.current = /* @__PURE__ */ new Set();
@@ -2642,13 +2642,13 @@ function Kl(t, e, n, r) {
2642
2642
  }
2643
2643
  }, [t, e, a, l, g, r]), h;
2644
2644
  }
2645
- function Jl(t) {
2645
+ function Xl(t) {
2646
2646
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
2647
2647
  }
2648
2648
  function an(t, e) {
2649
2649
  return t.cloned ? { rank: 0, head: e.vcSheet } : t.gender === "male" ? { rank: 1, head: e.vcMale.toUpperCase() } : t.gender === "female" ? { rank: 2, head: e.vcFemale.toUpperCase() } : { rank: 3, head: e.vcSynth };
2650
2650
  }
2651
- function Xl(t, e) {
2651
+ function ec(t, e) {
2652
2652
  const n = t.slice().sort((s, a) => an(s, e).rank - an(a, e).rank || s.name.localeCompare(a.name, void 0, { numeric: !0 })), r = {};
2653
2653
  for (const s of n) {
2654
2654
  const a = an(s, e).head;
@@ -2659,18 +2659,18 @@ function Xl(t, e) {
2659
2659
  return { v: s, headOn: l, head: o, headCount: r[o], rule: l ? "0" : "1px solid var(--hair)" };
2660
2660
  });
2661
2661
  }
2662
- function ec(t, e, n) {
2662
+ function tc(t, e, n) {
2663
2663
  const r = /* @__PURE__ */ new Set();
2664
2664
  let s = !1;
2665
2665
  for (const o of t)
2666
2666
  o.speaker < 0 ? s = !0 : r.add(o.speaker);
2667
2667
  const a = [...r].sort((o, l) => o - l).map((o) => {
2668
2668
  var c;
2669
- const l = Rr(e, o);
2669
+ const l = Pr(e, o);
2670
2670
  return {
2671
2671
  key: o,
2672
- name: Ur(e, o),
2673
- initial: $i(e, o),
2672
+ name: Rr(e, o),
2673
+ initial: Bi(e, o),
2674
2674
  lane: l.lane,
2675
2675
  sex: e.speakerSex[o] ?? null,
2676
2676
  voiceId: ((c = e.speakerIds[o]) == null ? void 0 : c.voiceId) ?? null,
@@ -2681,11 +2681,11 @@ function ec(t, e, n) {
2681
2681
  });
2682
2682
  return s && a.push({ key: -1, name: n, initial: "?", lane: null, sex: null }), a;
2683
2683
  }
2684
- function di(t) {
2684
+ function gi(t) {
2685
2685
  const e = [...t.entries()].filter(([, n]) => n.trim()).sort((n, r) => n[0] - r[0]).map(([n, r]) => `${n}=${r.trim()}`).join(";");
2686
2686
  return e ? `cast:${e}` : "";
2687
2687
  }
2688
- function hi(t) {
2688
+ function Mi(t) {
2689
2689
  if (!t || !t.startsWith("cast:")) return null;
2690
2690
  const e = /* @__PURE__ */ new Map();
2691
2691
  for (const n of t.slice(5).split(";")) {
@@ -2696,7 +2696,7 @@ function hi(t) {
2696
2696
  }
2697
2697
  return e.size ? e : null;
2698
2698
  }
2699
- function gi(t, e, n = !0) {
2699
+ function fi(t, e, n = !0) {
2700
2700
  const r = e.filter((o) => !o.cloned), s = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map();
2701
2701
  for (const o of t) {
2702
2702
  const c = (o.voiceId ? e.find((h) => h.cloned && !h.auto && h.consent !== "pending" && h.id === `clone:${o.voiceId}`) : void 0) ?? (n ? (o.voiceId ? e.find((h) => h.cloned && h.consent !== "pending" && h.id === `clone:${o.voiceId}`) : void 0) ?? (o.key >= 0 ? e.find((h) => h.cloned && h.auto && h.consent !== "pending" && h.speaker === o.key) : void 0) : void 0);
@@ -2709,7 +2709,7 @@ function gi(t, e, n = !0) {
2709
2709
  }
2710
2710
  return a;
2711
2711
  }
2712
- function tc({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: a, warn: o, sexOf: l, t: c }) {
2712
+ function nc({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: a, warn: o, sexOf: l, t: c }) {
2713
2713
  const u = t.find((d) => d.key === e) ?? t[0] ?? null;
2714
2714
  return u ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((d) => {
2715
2715
  const g = d.key === u.key, h = d.key >= 0 ? (o == null ? void 0 : o(d)) ?? null : null, f = d.key >= 0 && !h && !!(s != null && s(d)), m = d.key >= 0 && !h && !f && r(d), y = d.key >= 0 && !h && !f && !m && !d.hasVoice && !!(a != null && a(d));
@@ -2731,7 +2731,7 @@ function tc({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
2731
2731
  }
2732
2732
  ),
2733
2733
  /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: d.name }),
2734
- d.hasVoice && !h && /* @__PURE__ */ i(Ki, { color: d.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2734
+ d.hasVoice && !h && /* @__PURE__ */ i(Xi, { color: d.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2735
2735
  h && /* @__PURE__ */ i("span", { title: h, "aria-label": h, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
2736
2736
  y && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: X.micOff, size: 13, sw: 1.7 }) }),
2737
2737
  (m || f) && /* @__PURE__ */ i("span", { title: f ? "Cloning this voice…" : "No voice clone yet", "aria-label": f ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: f ? /* @__PURE__ */ i(ht, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
@@ -2741,8 +2741,8 @@ function tc({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
2741
2741
  );
2742
2742
  }) }) : null;
2743
2743
  }
2744
- function nc({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: g = null, problem: h, noClone: f = null, t: m }) {
2745
- const y = ze(() => Xl(e, m), [e, m]), [j, N] = L({});
2744
+ function rc({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: g = null, problem: h, noClone: f = null, t: m }) {
2745
+ const y = ze(() => ec(e, m), [e, m]), [j, N] = L({});
2746
2746
  D(() => {
2747
2747
  N({});
2748
2748
  }, [d, g]);
@@ -2755,7 +2755,7 @@ function nc({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2755
2755
  h && /* @__PURE__ */ M("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2756
2756
  /* @__PURE__ */ i(oe, { d: X.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
2757
2757
  /* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: h }),
2758
- /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(to, { value: h, label: "Copy this error" }) })
2758
+ /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(ro, { value: h, label: "Copy this error" }) })
2759
2759
  ] }),
2760
2760
  t,
2761
2761
  f && /* @__PURE__ */ M(Ce, { children: [
@@ -2771,8 +2771,8 @@ function nc({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2771
2771
  ] })
2772
2772
  ] }),
2773
2773
  y.map(({ v: S, headOn: B, head: Y, headCount: ee, rule: I }, F) => {
2774
- const A = Jl(S), T = a === S.id, _ = b(Y), O = (u == null ? void 0 : u(S)) ?? null;
2775
- return /* @__PURE__ */ M(Ba, { children: [
2774
+ const A = Xl(S), T = a === S.id, _ = b(Y), O = (u == null ? void 0 : u(S)) ?? null;
2775
+ return /* @__PURE__ */ M(Ha, { children: [
2776
2776
  B && Y === m.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: F === 0 && !f ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: Y }) }),
2777
2777
  B && Y !== m.vcSheet && /* @__PURE__ */ M(
2778
2778
  "button",
@@ -2802,8 +2802,8 @@ function nc({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2802
2802
  style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: _ ? I : "0", display: "flex", alignItems: "center", gap: 11, padding: _ ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: r === S.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: _ ? 1 : 0, maxHeight: _ ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
2803
2803
  children: [
2804
2804
  /* @__PURE__ */ i("span", { title: T ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: T ? "transparent" : S.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: T ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : s === S.id ? /* @__PURE__ */ M("span", { className: "vcplay", children: [
2805
- /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(rc, { height: 13, width: 2.5 }) }),
2806
- /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(Ja, { size: 11 }) })
2805
+ /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(sc, { height: 13, width: 2.5 }) }),
2806
+ /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(eo, { size: 11 }) })
2807
2807
  ] }) : /* @__PURE__ */ i(oe, { d: S.cloned ? X.voiceClone : S.gender === "female" ? X.venus : S.gender === "male" ? X.mars : X.mic, size: 15, sw: 1.6, style: { color: S.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2808
2808
  /* @__PURE__ */ M("div", { style: { flex: 1, minWidth: 0 }, children: [
2809
2809
  /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: S.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: S.name }) }),
@@ -2831,7 +2831,7 @@ function nc({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2831
2831
  C && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => r && c(r), children: /* @__PURE__ */ i("span", { children: m.vcUse }) }) })
2832
2832
  ] });
2833
2833
  }
2834
- function rc({ height: t, width: e = 2 }) {
2834
+ function sc({ height: t, width: e = 2 }) {
2835
2835
  const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
2836
2836
  return /* @__PURE__ */ M("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2837
2837
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
@@ -2839,16 +2839,16 @@ function rc({ height: t, width: e = 2 }) {
2839
2839
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
2840
2840
  ] });
2841
2841
  }
2842
- const sc = /* @__PURE__ */ M("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2842
+ const ic = /* @__PURE__ */ M("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2843
2843
  /* @__PURE__ */ i(oe, { d: X.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
2844
2844
  /* @__PURE__ */ i(oe, { d: X.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
2845
2845
  ] });
2846
2846
  function Cr(t, e) {
2847
2847
  const n = e ? t == null ? void 0 : t.languages.find((r) => r.code === e) : null;
2848
- return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : sc, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2848
+ return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : ic, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2849
2849
  }
2850
- function ic(t, e, n = 0, r) {
2851
- const s = (r == null ? void 0 : r.id) ?? null, a = (r == null ? void 0 : r.token) ?? null, o = (r == null ? void 0 : r.shareCode) ?? null, l = Vt(), { data: c } = Wi(async () => {
2850
+ function ac(t, e, n = 0, r) {
2851
+ const s = (r == null ? void 0 : r.id) ?? null, a = (r == null ? void 0 : r.token) ?? null, o = (r == null ? void 0 : r.shareCode) ?? null, l = Vt(), { data: c } = Zi(async () => {
2852
2852
  if (!t || !e) return null;
2853
2853
  try {
2854
2854
  return await l.client.voices.available(t, { recording: s ?? void 0, shareCode: s ? o ?? void 0 : void 0, asOwner: l.owner });
@@ -2858,25 +2858,25 @@ function ic(t, e, n = 0, r) {
2858
2858
  }, [t, e, n, s, a, o]);
2859
2859
  return c;
2860
2860
  }
2861
- function ac(t) {
2861
+ function oc(t) {
2862
2862
  return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
2863
2863
  }
2864
- function oc({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: a }) {
2865
- const o = Vt(), { data: l, reload: c } = Wi(async () => {
2864
+ function lc({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: a }) {
2865
+ const o = Vt(), { data: l, reload: c } = Zi(async () => {
2866
2866
  if (!t || !e) return null;
2867
2867
  const K = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
2868
2868
  return { recordingId: t, lang: e, rows: K.filter((v) => v.lang === e) };
2869
2869
  }, [t, e, o, n]), u = ze(
2870
2870
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2871
2871
  [l, e, t]
2872
- ), d = ze(() => xi(u, s), [u, s]), g = d ? d.voiceKey || null : s, [h, f] = L(null), [m, y] = L(null), j = k(/* @__PURE__ */ new Set()), N = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, p = Ke(async (K, v) => {
2872
+ ), d = ze(() => Di(u, s), [u, s]), g = d ? d.voiceKey || null : s, [h, f] = L(null), [m, y] = L(null), j = k(/* @__PURE__ */ new Set()), N = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, p = Ke(async (K, v) => {
2873
2873
  if (!t || !e || !n) return;
2874
- const ie = v != null && v.size ? null : hi(K), ne = v != null && v.size ? v : ie, Z = ne && ne.size ? Object.fromEntries([...ne].map(([Te, je]) => [String(Te), je])) : null, J = `${t}|${e}|${Z ? JSON.stringify(Z) : K ?? ""}`;
2874
+ const ie = v != null && v.size ? null : Mi(K), ne = v != null && v.size ? v : ie, Z = ne && ne.size ? Object.fromEntries([...ne].map(([Te, je]) => [String(Te), je])) : null, J = `${t}|${e}|${Z ? JSON.stringify(Z) : K ?? ""}`;
2875
2875
  if (j.current.has(J)) return;
2876
2876
  j.current.add(J), f(J), y(null);
2877
2877
  const pe = { langs: [e] };
2878
2878
  Z ? pe.voiceBySpeaker = Z : K && (pe.voice = K);
2879
- const le = await li(o, `/v1/recordings/${t}/voice`, { method: "POST", body: pe }).catch(() => null);
2879
+ const le = await ui(o, `/v1/recordings/${t}/voice`, { method: "POST", body: pe }).catch(() => null);
2880
2880
  if (f((Te) => Te === J ? null : Te), !(le != null && le.ok)) {
2881
2881
  j.current.delete(J);
2882
2882
  const Te = le ? await le.json().catch(() => null) : null;
@@ -2894,8 +2894,8 @@ function oc({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2894
2894
  const K = Y ?? F[0], v = F.find((pe) => pe >= K) ?? F[0], ie = `${t}|${e}|${g ?? ""}`, ne = A.current;
2895
2895
  if (ne && ne.key === ie && Math.abs(ne.near - v) < 12 && Date.now() - ne.at < 6e4) return;
2896
2896
  A.current = { key: ie, near: v, at: Date.now() };
2897
- const Z = hi(g), J = { langs: [e], near: v };
2898
- Z && Z.size ? J.voiceBySpeaker = Object.fromEntries([...Z].map(([pe, le]) => [String(pe), le])) : g && (J.voice = g), li(o, `/v1/recordings/${t}/voice`, { method: "POST", body: J }).then((pe) => {
2897
+ const Z = Mi(g), J = { langs: [e], near: v };
2898
+ Z && Z.size ? J.voiceBySpeaker = Object.fromEntries([...Z].map(([pe, le]) => [String(pe), le])) : g && (J.voice = g), ui(o, `/v1/recordings/${t}/voice`, { method: "POST", body: J }).then((pe) => {
2899
2899
  pe.ok || (A.current = null);
2900
2900
  }).catch(() => {
2901
2901
  A.current = null;
@@ -2913,12 +2913,12 @@ function oc({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2913
2913
  const O = ze(() => {
2914
2914
  if (!t) return [];
2915
2915
  const K = B ? B.split(",").map(Number).filter((ie) => !n || I.has(ie)) : void 0, v = d ?? (K != null && K.length && e ? { lang: e, voiceKey: s ?? "", clips: [], voice: null } : null);
2916
- return fo(v, t, o.origin, r, K);
2916
+ return mo(v, t, o.origin, r, K);
2917
2917
  }, [d, t, o, r, B, e, s, n, I]), te = ze(() => new Set(F), [F]);
2918
2918
  return { listed: l, rows: u, track: d, renderVoiceId: g, rendering: C, failed: S, clips: O, requestRender: p, forget: b, reload: c, setNear: ee, missing: F.length, coming: te };
2919
2919
  }
2920
- const lc = { share: X.share, delay: X.tabGauge, video: X.video, source: X.tabSources, script: X.tabScript, fix: X.tabFix, ending: X.tabEnding, summary: X.tabSummary, export: X.tabExport, settings: X.tabSettings, sources: X.tabSources, recs: X.mic };
2921
- function Ji({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s }) {
2920
+ const cc = { share: X.share, delay: X.tabGauge, video: X.video, source: X.tabSources, script: X.tabScript, fix: X.tabFix, ending: X.tabEnding, summary: X.tabSummary, export: X.tabExport, settings: X.tabSettings, sources: X.tabSources, recs: X.mic };
2921
+ function ea({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s }) {
2922
2922
  const o = s && t.length <= 3, l = t.some((j) => j.key === e), [c, u] = L(null), d = k(null), [g, h] = L(0);
2923
2923
  D(() => {
2924
2924
  d.current && h(d.current.offsetWidth);
@@ -2936,7 +2936,7 @@ function Ji({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
2936
2936
  let y = null;
2937
2937
  if (c) {
2938
2938
  const j = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, N = g || 80, p = Math.max(j.l + 8, Math.min(j.r - N - 8, c.x - N / 2));
2939
- y = Wa(
2939
+ y = Za(
2940
2940
  /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ M("div", { ref: d, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: p, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2941
2941
  /* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
2942
2942
  /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(N - 19, c.x - p - 5.5))) } })
@@ -2946,7 +2946,7 @@ function Ji({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
2946
2946
  }
2947
2947
  return /* @__PURE__ */ M("div", { role: "tablist", className: `tabbar tabbar--icons${s ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: r ? 12 : 0 }, onMouseLeave: m, children: [
2948
2948
  t.map((j) => {
2949
- const N = e === j.key, p = o || N, b = o ? "1 1 0" : N ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = j.icon ?? lc[j.key], S = () => {
2949
+ const N = e === j.key, p = o || N, b = o ? "1 1 0" : N ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = j.icon ?? cc[j.key], S = () => {
2950
2950
  m(), n(s && N ? "none" : j.key);
2951
2951
  };
2952
2952
  return s ? /* @__PURE__ */ M("button", { type: "button", role: "tab", "aria-selected": N, title: j.label, className: `tabbar__tab${N ? " is-on" : ""}`, style: { flex: b }, onClick: S, children: [
@@ -2960,8 +2960,8 @@ function Ji({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
2960
2960
  y
2961
2961
  ] });
2962
2962
  }
2963
- const cc = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", uc = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2964
- function dc({ audio: t, video: e, formats: n, onExport: r }) {
2963
+ const uc = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", dc = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2964
+ function hc({ audio: t, video: e, formats: n, onExport: r }) {
2965
2965
  const [s, a] = L(null), [o, l] = L(null), c = k(void 0), u = k(!0);
2966
2966
  D(() => (u.current = !0, () => {
2967
2967
  u.current = !1, window.clearTimeout(c.current);
@@ -2990,11 +2990,11 @@ function dc({ audio: t, video: e, formats: n, onExport: r }) {
2990
2990
  /* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: y.name }),
2991
2991
  /* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: y.meta })
2992
2992
  ] }),
2993
- /* @__PURE__ */ i(oe, { d: s === m ? X.check : cc, size: 17, sw: 1.6, style: { flex: "none", color: s === m ? "var(--brand)" : "var(--ink-62)" } })
2993
+ /* @__PURE__ */ i(oe, { d: s === m ? X.check : uc, size: 17, sw: 1.6, style: { flex: "none", color: s === m ? "var(--brand)" : "var(--ink-62)" } })
2994
2994
  ] })
2995
2995
  ] });
2996
2996
  return /* @__PURE__ */ M("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2997
- t && f("audio", t, uc, "DOWNLOAD AUDIO"),
2997
+ t && f("audio", t, dc, "DOWNLOAD AUDIO"),
2998
2998
  e && f("video", e, X.video, "DOWNLOAD VIDEO"),
2999
2999
  n !== !1 && /* @__PURE__ */ M(Ce, { children: [
3000
3000
  /* @__PURE__ */ i(Lr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
@@ -3005,7 +3005,7 @@ function dc({ audio: t, video: e, formats: n, onExport: r }) {
3005
3005
  ] })
3006
3006
  ] });
3007
3007
  }
3008
- function Qr(t, e, n) {
3008
+ function Br(t, e, n) {
3009
3009
  const r = () => {
3010
3010
  var s;
3011
3011
  (s = navigator.clipboard) == null || s.writeText(t).then(() => n == null ? void 0 : n(), () => {
@@ -3019,7 +3019,7 @@ function Qr(t, e, n) {
3019
3019
  }
3020
3020
  r();
3021
3021
  }
3022
- function hc(t, e, n) {
3022
+ function gc(t, e, n) {
3023
3023
  const [r, s] = L(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
3024
3024
  ${t.summary}` : ""}`, l = Vt();
3025
3025
  return D(() => {
@@ -3036,12 +3036,12 @@ ${t.summary}` : ""}`, l = Vt();
3036
3036
  };
3037
3037
  }, [o, l]), !n || !a ? t : (r == null ? void 0 : r.key) === o ? r.s : { state: "pending", retry: t.retry };
3038
3038
  }
3039
- function gc(t) {
3039
+ function Mc(t) {
3040
3040
  return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
3041
3041
  } } : { state: "unavailable", retry: () => {
3042
3042
  } };
3043
3043
  }
3044
- function Mc({ s: t }) {
3044
+ function fc({ s: t }) {
3045
3045
  const [e, n] = L(!1), r = k(void 0);
3046
3046
  D(() => () => window.clearTimeout(r.current), []);
3047
3047
  const s = t.title ?? "", a = t.summary ?? "", o = () => {
@@ -3058,7 +3058,7 @@ ${a}`).catch(() => {
3058
3058
  /* @__PURE__ */ M("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
3059
3059
  /* @__PURE__ */ i(Lr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
3060
3060
  t.state === "ready" && /* @__PURE__ */ M("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
3061
- /* @__PURE__ */ i(oe, { d: e ? X.check : mc, size: 13, sw: 1.6 }),
3061
+ /* @__PURE__ */ i(oe, { d: e ? X.check : Nc, size: 13, sw: 1.6 }),
3062
3062
  e ? "Copied" : "Copy"
3063
3063
  ] })
3064
3064
  ] }),
@@ -3071,15 +3071,15 @@ ${a}`).catch(() => {
3071
3071
  ] })
3072
3072
  ] });
3073
3073
  }
3074
- function fc({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: a, children: o, picture: l }) {
3074
+ function pc({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: a, children: o, picture: l }) {
3075
3075
  return /* @__PURE__ */ M("div", { className: "livevid", style: { ...r != null ? { borderRadius: r } : null, ...s }, children: [
3076
3076
  /* @__PURE__ */ i(oe, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
3077
- l ?? /* @__PURE__ */ i("iframe", { src: Pl(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
3077
+ l ?? /* @__PURE__ */ i("iframe", { src: $l(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
3078
3078
  n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
3079
3079
  o
3080
3080
  ] });
3081
3081
  }
3082
- function pc(t = !0, e) {
3082
+ function mc(t = !0, e) {
3083
3083
  const n = k(null), r = e ?? n;
3084
3084
  return D(() => {
3085
3085
  const s = r.current;
@@ -3100,9 +3100,9 @@ function pc(t = !0, e) {
3100
3100
  };
3101
3101
  }, [t]), r;
3102
3102
  }
3103
- const mc = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
3104
- function Nc(t, e) {
3105
- const [n, r] = mo(t), s = e.tabs.map((p) => p.key), a = e.tabbed !== !1, o = e.pinnable ?? s;
3103
+ const Nc = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
3104
+ function yc(t, e) {
3105
+ const [n, r] = yo(t), s = e.tabs.map((p) => p.key), a = e.tabbed !== !1, o = e.pinnable ?? s;
3106
3106
  let l = n;
3107
3107
  [...e.autoPin ?? []].reverse().forEach((p) => {
3108
3108
  s.includes(p) && !l.includes(p) && !l.includes(`!${p}`) && (l = [p, ...l]);
@@ -3140,8 +3140,8 @@ function Nc(t, e) {
3140
3140
  };
3141
3141
  return { id: t, tabbed: a && g.length > 1, cur: h, seq: d, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((p) => g.includes(p.key)), panel: N, pin: m, unpin: y };
3142
3142
  }
3143
- function yc({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
3144
- return Tc(t), /* @__PURE__ */ M(Ce, { children: [
3143
+ function Tc({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
3144
+ return wc(t), /* @__PURE__ */ M(Ce, { children: [
3145
3145
  e.map((o) => {
3146
3146
  const l = t.panel(o);
3147
3147
  if (!l.show) return null;
@@ -3151,13 +3151,13 @@ function yc({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
3151
3151
  l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: X.pin, size: 12, sw: 2 }) })
3152
3152
  ] }, o) : null;
3153
3153
  }),
3154
- t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Ji, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
3154
+ t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(ea, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
3155
3155
  o !== "none" && (s ?? (() => {
3156
3156
  }))(o);
3157
3157
  }, fold: !1 }) })
3158
3158
  ] });
3159
3159
  }
3160
- function Tc(t) {
3160
+ function wc(t) {
3161
3161
  const e = k(t);
3162
3162
  e.current = t;
3163
3163
  const n = t.id;
@@ -3258,9 +3258,9 @@ function Tc(t) {
3258
3258
  };
3259
3259
  }, [n]);
3260
3260
  }
3261
- function wc({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
3262
- const [o, l] = yo(t), c = k(null), u = k(null);
3263
- vc(u), D(() => {
3261
+ function vc({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
3262
+ const [o, l] = wo(t), c = k(null), u = k(null);
3263
+ Lc(u), D(() => {
3264
3264
  document.documentElement.style.setProperty("--colw", `${o}px`);
3265
3265
  }, [o]);
3266
3266
  const d = (h) => {
@@ -3284,7 +3284,7 @@ function wc({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
3284
3284
  /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: s ? a : /* @__PURE__ */ i("div", { ref: u, "data-panel-grid": "", className: "panelgrid", children: a }) })
3285
3285
  ] });
3286
3286
  }
3287
- function vc(t) {
3287
+ function Lc(t) {
3288
3288
  D(() => {
3289
3289
  const e = t.current;
3290
3290
  if (!e) return;
@@ -3312,11 +3312,11 @@ function vc(t) {
3312
3312
  };
3313
3313
  }, [t]);
3314
3314
  }
3315
- function Lc(t) {
3315
+ function kc(t) {
3316
3316
  return /\bwas not captured\b/i.test(t ?? "");
3317
3317
  }
3318
- const kc = 1500, jc = 3e5;
3319
- function zc(t) {
3318
+ const jc = 1500, zc = 3e5;
3319
+ function Ic(t) {
3320
3320
  const e = Vt(), [n, r] = L(null), [s, a] = L(null), [o, l] = L(null), [c, u] = L(null), d = k(null), g = k(null), h = k(null), f = k(0), m = Ke(() => {
3321
3321
  h.current && (clearTimeout(h.current), h.current = null), d.current && (d.current.pause(), d.current.removeAttribute("src"), d.current.load(), d.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
3322
3322
  }, []), y = Ke(() => {
@@ -3348,13 +3348,13 @@ function zc(t) {
3348
3348
  }
3349
3349
  if (f.current !== b) return;
3350
3350
  if (Y.status === 202 || Y.status === 503) {
3351
- if (Date.now() - S > jc) {
3351
+ if (Date.now() - S > zc) {
3352
3352
  l(null), u({ message: "This voice is still being fetched. Try it again in a moment." });
3353
3353
  return;
3354
3354
  }
3355
3355
  l(p.id), h.current = setTimeout(() => {
3356
3356
  B();
3357
- }, kc);
3357
+ }, jc);
3358
3358
  return;
3359
3359
  }
3360
3360
  if (!Y.ok) {
@@ -3379,13 +3379,13 @@ function zc(t) {
3379
3379
  }, [t, m, e]);
3380
3380
  return { armId: n, sampleId: s, dlId: o, error: c, clearError: () => u(null), arm: N, stop: y, reset: j };
3381
3381
  }
3382
- const xr = 0.05, Xi = (t, e) => {
3382
+ const xr = 0.05, ta = (t, e) => {
3383
3383
  let n = 0;
3384
3384
  for (let r = 0; r < t.length; r++) t[r].start <= e + 1e-6 && (n = r);
3385
3385
  return n;
3386
3386
  };
3387
- function Ic(t, e, n, r) {
3388
- const s = Math.max(0, e), a = r > 0 && s >= r - xr, o = t.length && t[0].start <= s + 1e-6 ? Xi(t, s) : -1;
3387
+ function bc(t, e, n, r) {
3388
+ const s = Math.max(0, e), a = r > 0 && s >= r - xr, o = t.length && t[0].start <= s + 1e-6 ? ta(t, s) : -1;
3389
3389
  return o < 0 ? { t: s, playing: n && !a, sentenceId: null, offset: 0, ended: a } : { t: s, playing: n && !a, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, s - t[o].start), ended: a };
3390
3390
  }
3391
3391
  function An(t, e, n) {
@@ -3400,18 +3400,18 @@ function An(t, e, n) {
3400
3400
  }
3401
3401
  a = Math.max(0, Math.min(r, a));
3402
3402
  const o = r > 0 && a >= r - xr && s < 0;
3403
- return { t: a, playing: t.playing && !o, index: s >= 0 ? s : Xi(e, a) };
3403
+ return { t: a, playing: t.playing && !o, index: s >= 0 ? s : ta(e, a) };
3404
3404
  }
3405
- function bc(t) {
3405
+ function Oc(t) {
3406
3406
  return t.on ? t.want || t.relang ? "asked" : t.playing && (t.preparing || t.starting != null) ? "line" : null : null;
3407
3407
  }
3408
- const Mi = "Preparing the voice…";
3409
- function Oc(t) {
3408
+ const pi = "Preparing the voice…";
3409
+ function Cc(t) {
3410
3410
  if (!t.lang) return null;
3411
3411
  const e = t.langName;
3412
3412
  return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
3413
3413
  }
3414
- function ea(t, e) {
3414
+ function na(t, e) {
3415
3415
  const [n, r] = L(null), [s, a] = L(!1);
3416
3416
  return D(() => {
3417
3417
  if (!t) {
@@ -3424,8 +3424,8 @@ function ea(t, e) {
3424
3424
  return () => clearTimeout(l);
3425
3425
  }, [t, e]), [s, n];
3426
3426
  }
3427
- const Cc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
3428
- function xc({ state: t, line: e, onRetry: n, onOriginal: r }) {
3427
+ const xc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
3428
+ function Sc({ state: t, line: e, onRetry: n, onOriginal: r }) {
3429
3429
  const [s, a] = L(() => Date.now());
3430
3430
  D(() => {
3431
3431
  if (t.since == null) return;
@@ -3458,7 +3458,7 @@ function xc({ state: t, line: e, onRetry: n, onOriginal: r }) {
3458
3458
  /* @__PURE__ */ M("div", { className: "pwait__head", children: [
3459
3459
  l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: X.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
3460
3460
  /* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
3461
- !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: Cc(o) })
3461
+ !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: xc(o) })
3462
3462
  ] }),
3463
3463
  /* @__PURE__ */ i("div", { className: "pwait__note", children: u }),
3464
3464
  !l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
@@ -3471,16 +3471,16 @@ function xc({ state: t, line: e, onRetry: n, onOriginal: r }) {
3471
3471
  }
3472
3472
  );
3473
3473
  }
3474
- function ta(t, e, n) {
3474
+ function ra(t, e, n) {
3475
3475
  var c;
3476
3476
  const r = t[e], s = n && r.translations[n] && r.language !== n ? r.translations[n] : null;
3477
3477
  if (!s && r.words.length) return r.words;
3478
- const a = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l = qi(r, t[e + 1], r.start + Math.max(2, a.length * 0.4));
3479
- return Bl(a, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
3478
+ const a = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l = Ji(r, t[e + 1], r.start + Math.max(2, a.length * 0.4));
3479
+ return Vl(a, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
3480
3480
  }
3481
- function fi(t, e, n) {
3481
+ function mi(t, e, n) {
3482
3482
  if (!t.engaged || e !== t.idx || !n.length) return null;
3483
- if (!t.wordSync) return t.clipPos ? Si(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3483
+ if (!t.wordSync) return t.clipPos ? Ai(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3484
3484
  const r = t.t;
3485
3485
  let s = -1;
3486
3486
  for (let a = 0; a < n.length && n[a].start <= r; a++) s = a;
@@ -3498,7 +3498,7 @@ function Bt(t, e, n) {
3498
3498
  const r = (s = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : s.end;
3499
3499
  return r != null && r > e ? r : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3500
3500
  }
3501
- function Sc({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: h = !1 }) {
3501
+ function Dc({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: h = !1 }) {
3502
3502
  const f = k(null), [m, y] = L(!1);
3503
3503
  D(() => {
3504
3504
  if (!h) {
@@ -3626,22 +3626,22 @@ function Sc({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
3626
3626
  ] })
3627
3627
  ] });
3628
3628
  }
3629
- const Dc = /* @__PURE__ */ M(Ce, { children: [
3629
+ const Ac = /* @__PURE__ */ M(Ce, { children: [
3630
3630
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
3631
3631
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
3632
- ] }), Ac = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3633
- function Ec({ player: t, size: e }) {
3632
+ ] }), Ec = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3633
+ function _c({ player: t, size: e }) {
3634
3634
  const n = t.muted ? "Unmute" : "Mute";
3635
3635
  return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(oe, { d: t.muted ? X.volumeOff : X.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
3636
3636
  }
3637
- function _c() {
3637
+ function Yc() {
3638
3638
  const [t, e] = L(""), n = k(null), r = Ke((s) => {
3639
3639
  clearTimeout(n.current), e(s), n.current = setTimeout(() => e(""), 3e3);
3640
3640
  }, []);
3641
3641
  return D(() => () => clearTimeout(n.current), []), [t, r];
3642
3642
  }
3643
- const Yc = 0.2, Uc = 140, Rc = 320;
3644
- function Pc(t, e) {
3643
+ const Uc = 0.2, Rc = 140, Pc = 320;
3644
+ function $c(t, e) {
3645
3645
  const n = k(t);
3646
3646
  n.current = t;
3647
3647
  const r = k(0), s = k(1), a = Ke((o, l) => {
@@ -3655,13 +3655,13 @@ function Pc(t, e) {
3655
3655
  d();
3656
3656
  }, []);
3657
3657
  D(() => {
3658
- a(e ? Yc : 1, e ? Uc : Rc);
3658
+ a(e ? Uc : 1, e ? Rc : Pc);
3659
3659
  }, [e, a]), D(() => () => {
3660
3660
  cancelAnimationFrame(r.current), s.current = 1;
3661
3661
  for (const o of n.current) o.setVolume(1);
3662
3662
  }, []);
3663
3663
  }
3664
- function $c(t, e, n, r) {
3664
+ function Qc(t, e, n, r) {
3665
3665
  var De;
3666
3666
  const s = k(null), a = k(!1), o = k(!1), [l, c] = L(null), [u, d] = L(!0), g = k(!0), h = k(!1), [f, m] = L(0), y = k(0);
3667
3667
  y.current = f;
@@ -3804,7 +3804,7 @@ function $c(t, e, n, r) {
3804
3804
  setVolume: (Q) => Y("setVolume", [Math.round(Q * 100)])
3805
3805
  }, lead: A, setVideoSound: we };
3806
3806
  }
3807
- function Qc(t, e, n, r, s = 0, a = null) {
3807
+ function Bc(t, e, n, r, s = 0, a = null) {
3808
3808
  var E;
3809
3809
  const o = k(null), [l, c] = L(!1), [u, d] = L(0), [g, h] = L(!1), f = k(g);
3810
3810
  f.current = g;
@@ -3818,16 +3818,16 @@ function Qc(t, e, n, r, s = 0, a = null) {
3818
3818
  c(!1), o.current = null;
3819
3819
  return;
3820
3820
  }
3821
- const V = Oi(t), ce = b.current;
3821
+ const V = xi(t), ce = b.current;
3822
3822
  return V.preload = "metadata", V.muted = f.current || m.current, V.onplay = () => c(!0), V.onpause = () => c(!1), V.onended = () => c(!1), V.onloadedmetadata = () => {
3823
3823
  p(!0), V.currentTime = ((x == null ? void 0 : x.t) ?? 0) + ce, x != null && x.playing && V.play().catch((W) => {
3824
3824
  x.asked && (W == null ? void 0 : W.name) === "NotAllowedError" || j(zt(W));
3825
3825
  });
3826
3826
  }, V.onerror = () => {
3827
3827
  c(!1);
3828
- const W = V.error, ye = uo(W, !1);
3829
- io(t).then((G) => {
3830
- Lc(G == null ? void 0 : G.message) || Ii(W), o.current === V && (j({ message: (G == null ? void 0 : G.message) ?? ye }), G != null && G.permanent || (o.current = null));
3828
+ const W = V.error, ye = go(W, !1);
3829
+ oo(t).then((G) => {
3830
+ kc(G == null ? void 0 : G.message) || Oi(W), o.current === V && (j({ message: (G == null ? void 0 : G.message) ?? ye }), G != null && G.permanent || (o.current = null));
3831
3831
  });
3832
3832
  }, o.current = V, () => {
3833
3833
  C.current = { t: Math.max(0, V.currentTime - ce), playing: !V.paused && !V.ended }, V.pause(), V.onplay = V.onpause = V.onended = V.onloadedmetadata = V.onerror = null, o.current = null;
@@ -3996,7 +3996,7 @@ function Qc(t, e, n, r, s = 0, a = null) {
3996
3996
  }
3997
3997
  };
3998
3998
  }
3999
- function Bc(t, e, n, r, s, a, o = !1, l) {
3999
+ function Vc(t, e, n, r, s, a, o = !1, l) {
4000
4000
  const c = k(/* @__PURE__ */ new Set());
4001
4001
  c.current = l ?? c.current;
4002
4002
  const u = k(null), [d, g] = L(!1), [h, f] = L(0), [m, y] = L(0), [j, N] = L(!1), p = k(j);
@@ -4017,7 +4017,7 @@ function Bc(t, e, n, r, s, a, o = !1, l) {
4017
4017
  const q = Z.current.findIndex((se) => se.sentenceId === R);
4018
4018
  q >= 0 && f(q);
4019
4019
  }, U.onError = (R) => {
4020
- g(U.playing), C(R instanceof Ci ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
4020
+ g(U.playing), C(R instanceof Si ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
4021
4021
  }, U.gapBefore = (R, q) => {
4022
4022
  if (!J.current) return 0;
4023
4023
  const se = Z.current, de = se.find((Oe) => Oe.sentenceId === R), be = se.find((Oe) => Oe.sentenceId === q);
@@ -4110,7 +4110,7 @@ function Bc(t, e, n, r, s, a, o = !1, l) {
4110
4110
  return { from: q, span: Math.max(0, se - q) };
4111
4111
  }, ge = $(G), ue = Math.max(0, Math.min(ge.span, Bt(e[G], ge.from, ge.from + 4) - ge.from)), ae = I ? I.t : o ? O != null && ie ? ge.from + Math.min(ge.span, O) : O != null ? K != null ? Math.min(ge.from, K + O) : ge.from + Math.min(ge.span, ue + O) : T && T.dur > 0 ? ge.from + Math.min(ue, T.t / T.dur * ue) : ge.from : T && T.dur > 0 ? ge.from + Math.min(ge.span, T.t / T.dur * ge.span) : ge.from;
4112
4112
  D(() => {
4113
- we.current = Ee.current ?? Ic(e, ae, d, Ie);
4113
+ we.current = Ee.current ?? bc(e, ae, d, Ie);
4114
4114
  });
4115
4115
  const fe = {
4116
4116
  playing: d || Re,
@@ -4167,7 +4167,7 @@ function Bc(t, e, n, r, s, a, o = !1, l) {
4167
4167
  H(U), t.some((R) => R.sentenceId >= (U.sentenceId ?? 0)) && (H(null), Q.current(U));
4168
4168
  },
4169
4169
  seekFrac: (U) => {
4170
- var ut, st, pt;
4170
+ var ut, it, pt;
4171
4171
  E();
4172
4172
  const R = Math.max(0, Math.min(1, U)) * Ie;
4173
4173
  let q = 0;
@@ -4182,10 +4182,10 @@ function Bc(t, e, n, r, s, a, o = !1, l) {
4182
4182
  }
4183
4183
  const be = (se == null ? void 0 : se.sentenceId) ?? null, { from: Ne, span: Le } = $(q);
4184
4184
  let Oe = Le > 0 ? Math.max(0, Math.min(1, (R - Ne) / Le)) : 0;
4185
- const He = be != null ? (st = je.current) == null ? void 0 : st[String(be)] : void 0, $e = He != null && He.length ? He[He.length - 1][1] : 0;
4185
+ const He = be != null ? (it = je.current) == null ? void 0 : it[String(be)] : void 0, $e = He != null && He.length ? He[He.length - 1][1] : 0;
4186
4186
  if (se && He && He.length === se.words.length && $e > 0) {
4187
4187
  let Ge = 0;
4188
- for (let it = 0; it < se.words.length; it++) se.words[it].start <= R && (Ge = it);
4188
+ for (let st = 0; st < se.words.length; st++) se.words[st].start <= R && (Ge = st);
4189
4189
  const rt = se.words[Ge], gt = rt.end > rt.start ? Math.max(0, Math.min(1, (R - rt.start) / (rt.end - rt.start))) : 0;
4190
4190
  Oe = Math.min(1, (He[Ge][0] + gt * (He[Ge][1] - He[Ge][0])) / $e);
4191
4191
  }
@@ -4245,22 +4245,22 @@ function Bc(t, e, n, r, s, a, o = !1, l) {
4245
4245
  (q = fe.seekFrac) == null || q.call(fe, R.t / Ie), R.playing && he(Ae.current);
4246
4246
  }, fe;
4247
4247
  }
4248
- const Vc = () => {
4249
- }, Hc = "The language this recording is read aloud in.", Wc = { title: "READ IN", note: "The transcript and its voice switch to this language." };
4250
- function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: h = !1, timed: f = !1, stockVoices: m = !1, stickyPicker: y = !1, pickerBusy: j = null, voiceSheet: N, forcedVoice: p = null }) {
4248
+ const Hc = () => {
4249
+ }, Wc = "The language this recording is read aloud in.", Fc = { title: "READ IN", note: "The transcript and its voice switch to this language." };
4250
+ function Zc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: h = !1, timed: f = !1, stockVoices: m = !1, stickyPicker: y = !1, pickerBusy: j = null, voiceSheet: N, forcedVoice: p = null }) {
4251
4251
  var pn, Rt, mn, rn;
4252
- const { onAddVoice: b, onPickVoice: C, onSelectSpeaker: S, noCloneFor: B, castNoClone: Y, castShort: ee, castBuilding: I, castWarn: F, badge: A, titleNode: T } = N ?? {}, _ = !!N, O = !!(N != null && N.pendingClones), [te, K] = Ai(), [v, ie] = L(null), [ne, Z] = L(!1), [J, pe] = L(!1), [le, Te] = L(!1), [je, Se] = L(!1), ve = u ?? l, we = u === null, Ee = u != null || v != null, De = ((P) => !!P && !!(o != null && o.voice.includes(P)))(we ? l : ve) ? we ? l : ve : "en", Q = zc(De), H = (N == null ? void 0 : N.cloneOn) ?? !0, [E, x] = L(0), V = k(H);
4252
+ const { onAddVoice: b, onPickVoice: C, onSelectSpeaker: S, noCloneFor: B, castNoClone: Y, castShort: ee, castBuilding: I, castWarn: F, badge: A, titleNode: T } = N ?? {}, _ = !!N, O = !!(N != null && N.pendingClones), [te, K] = _i(), [v, ie] = L(null), [ne, Z] = L(!1), [J, pe] = L(!1), [le, Te] = L(!1), [je, Se] = L(!1), ve = u ?? l, we = u === null, Ee = u != null || v != null, De = ((P) => !!P && !!(o != null && o.voice.includes(P)))(we ? l : ve) ? we ? l : ve : "en", Q = Ic(De), H = (N == null ? void 0 : N.cloneOn) ?? !0, [E, x] = L(0), V = k(H);
4253
4253
  D(() => {
4254
4254
  V.current !== H && (V.current = H, x((P) => P + 1));
4255
4255
  }, [H]);
4256
- const ce = ic(De, Ee || s || J, ac(e) * 1e3 + E, { id: t ?? null, shareCode: a.shareCode ?? null }), W = ze(() => ((ce == null ? void 0 : ce.voices) ?? []).filter((P) => _ || !P.cloned || P.speaker != null), [ce, _]), ye = W.length > 1, G = Cr(o, ve), ke = Fi(), Ie = ze(() => Ei(o, "translation"), [o]), [Fe, Ae] = L(null), [he] = L(() => /* @__PURE__ */ new Set()), [_e, Be] = L({}), $ = ze(() => ec(n, e, ke.vcUnknownSpk), [n, e, ke]), ge = ye && $.filter((P) => P.key >= 0).length > 1, ue = Fe != null && $.some((P) => P.key === Fe) ? Fe : ((pn = $[0]) == null ? void 0 : pn.key) ?? null, ae = ze(() => {
4257
- const P = gi($, W, H);
4256
+ const ce = ac(De, Ee || s || J, oc(e) * 1e3 + E, { id: t ?? null, shareCode: a.shareCode ?? null }), W = ze(() => ((ce == null ? void 0 : ce.voices) ?? []).filter((P) => _ || !P.cloned || P.speaker != null), [ce, _]), ye = W.length > 1, G = Cr(o, ve), ke = Gi(), Ie = ze(() => Yi(o, "translation"), [o]), [Fe, Ae] = L(null), [he] = L(() => /* @__PURE__ */ new Set()), [_e, Be] = L({}), $ = ze(() => tc(n, e, ke.vcUnknownSpk), [n, e, ke]), ge = ye && $.filter((P) => P.key >= 0).length > 1, ue = Fe != null && $.some((P) => P.key === Fe) ? Fe : ((pn = $[0]) == null ? void 0 : pn.key) ?? null, ae = ze(() => {
4257
+ const P = fi($, W, H);
4258
4258
  for (const [xe, Qe] of Object.entries(_e[De ?? ""] ?? {})) P.set(Number(xe), Qe);
4259
4259
  return P;
4260
- }, [$, W, _e, De, H]), fe = ge && Object.keys(_e[De ?? ""] ?? {}).length > 0, Ye = ze(() => m && !fe ? gi($, W, !1) : null, [m, fe, $, W]), U = ze(() => fe ? di(ae) || null : Ye && di(Ye) || null, [fe, ae, Ye]), R = fe ? ae : Ye, q = W.some((P) => P.cloned && P.consent !== "pending"), se = !!ve && !!(o != null && o.voice.includes(ve)), de = se && !h, be = ze(
4260
+ }, [$, W, _e, De, H]), fe = ge && Object.keys(_e[De ?? ""] ?? {}).length > 0, Ye = ze(() => m && !fe ? fi($, W, !1) : null, [m, fe, $, W]), U = ze(() => fe ? gi(ae) || null : Ye && gi(Ye) || null, [fe, ae, Ye]), R = fe ? ae : Ye, q = W.some((P) => P.cloned && P.consent !== "pending"), se = !!ve && !!(o != null && o.voice.includes(ve)), de = se && !h, be = ze(
4261
4261
  () => n.filter((P) => !P.suppressed && !P.unclear).map((P) => P.sentenceId).filter((P) => P != null),
4262
4262
  [n]
4263
- ), Ne = oc({ recordingId: t, lang: ve, ended: s, cred: a, pickedVoice: p || (U ?? v), sentenceIds: s && de ? be : void 0 }), Le = W.find((P) => P.id === v) ?? W.find((P) => {
4263
+ ), Ne = lc({ recordingId: t, lang: ve, ended: s, cred: a, pickedVoice: p || (U ?? v), sentenceIds: s && de ? be : void 0 }), Le = W.find((P) => P.id === v) ?? W.find((P) => {
4264
4264
  var xe;
4265
4265
  return P.id === ((xe = Ne.track) == null ? void 0 : xe.voice);
4266
4266
  }) ?? W.find((P) => P.default) ?? W[0] ?? null, Oe = (Le == null ? void 0 : Le.id) ?? null;
@@ -4269,7 +4269,7 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4269
4269
  const P = setInterval(Ne.reload, 4e3);
4270
4270
  return () => clearInterval(P);
4271
4271
  }, [Ne.rendering, Ne.reload]);
4272
- const He = `${t ?? ""}|${ve ?? ""}|${p || (U ?? v ?? ((Rt = Ne.track) == null ? void 0 : Rt.voiceKey) ?? "default")}`, $e = Bc(Ne.clips, n, r, He, he, (mn = Ne.track) == null ? void 0 : mn.wordTimes, f, Ne.coming);
4272
+ const He = `${t ?? ""}|${ve ?? ""}|${p || (U ?? v ?? ((Rt = Ne.track) == null ? void 0 : Rt.voiceKey) ?? "default")}`, $e = Vc(Ne.clips, n, r, He, he, (mn = Ne.track) == null ? void 0 : mn.wordTimes, f, Ne.coming);
4273
4273
  D(() => {
4274
4274
  var xe;
4275
4275
  const P = (xe = n[$e.idx]) == null ? void 0 : xe.sentenceId;
@@ -4277,7 +4277,7 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4277
4277
  }, [$e.idx]), D(() => {
4278
4278
  !je || !$e.has || (Se(!1), $e.playing || $e.toggle());
4279
4279
  }, [je, $e.has]);
4280
- const ut = Ne.rendering, st = ut ? null : Ne.failed ?? null, pt = !1, Ge = Ee && de, rt = Ee && !we && de && !(Ne.listed && Ne.listed.lang === ve && Ne.listed.recordingId === t), gt = {
4280
+ const ut = Ne.rendering, it = ut ? null : Ne.failed ?? null, pt = !1, Ge = Ee && de, rt = Ee && !we && de && !(Ne.listed && Ne.listed.lang === ve && Ne.listed.recordingId === t), gt = {
4281
4281
  ...$e,
4282
4282
  has: $e.has || Ge && s,
4283
4283
  toggle: () => {
@@ -4290,7 +4290,7 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4290
4290
  pause: () => {
4291
4291
  Se(!1), $e.pause();
4292
4292
  }
4293
- }, it = () => Z(!0), Ve = () => {
4293
+ }, st = () => Z(!0), Ve = () => {
4294
4294
  Z(!1), pe(le), Te(!1);
4295
4295
  }, hn = (P) => {
4296
4296
  if (d(P), K(P), !((g || y) && !le)) {
@@ -4323,7 +4323,7 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4323
4323
  return;
4324
4324
  }
4325
4325
  ie(P);
4326
- }, z = we ? { ...Cr(o, null), flag: /* @__PURE__ */ i(oe, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : G, Vn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: lt ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(Un, { flag: z.flag, code: z.code, bordered: !1, onClick: Xt, flagOnly: !0, label: z.label }) }) : /* @__PURE__ */ i(Un, { flag: z.flag, code: z.code, bordered: !1, onClick: it, flagOnly: !0, label: z.label }) : null, At = X.voiceClone, Et = Ee && (!!Ne.track || ut), _t = st ? "var(--conf-low)" : Et || g && at ? "var(--brand)" : "var(--ink-55)", Ht = bc({ on: Ee, want: je, relang: rt, playing: $e.playing, preparing: !!$e.preparing, starting: $e.starting }), [Mn] = ea(Ht === "line", 400), qe = Ht === "asked" || Ht === "line" && Mn, ot = ut || qe, en = Ht === "asked" ? Mi : $e.preparing ? `Speaking this line in ${(Le == null ? void 0 : Le.name) ?? "this voice"}…` : ut ? `Preparing this recording in ${(Le == null ? void 0 : Le.name) ?? "this voice"} — it will play as soon as it is ready` : st ? `This voice could not be prepared: ${st}` : se ? ye ? "Choose a voice" : Le ? Le.name : ke.vcNoVoice + G.label : `${ke.vcNoVoice}${G.label}`, mt = /* @__PURE__ */ i(To, { open: ne, onClose: Ve, keepOpen: (!!g || y) && !le, value: we ? null : ve, onSelect: hn, languages: Ie, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Hc, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : ve) ? [we ? l : ve] : [], recent: te, requireVoice: le, sticky: y, busy: j }), Mt = ze(() => W.filter((P) => P.cloned && !P.auto), [W]), Wt = (P) => P.voiceId ? Mt.find((xe) => xe.id === `clone:${P.voiceId}`) ?? null : null, dt = ze(() => $.filter((P) => P.key >= 0), [$]), tn = ze(() => {
4326
+ }, z = we ? { ...Cr(o, null), flag: /* @__PURE__ */ i(oe, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : G, Vn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: lt ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(Un, { flag: z.flag, code: z.code, bordered: !1, onClick: Xt, flagOnly: !0, label: z.label }) }) : /* @__PURE__ */ i(Un, { flag: z.flag, code: z.code, bordered: !1, onClick: st, flagOnly: !0, label: z.label }) : null, At = X.voiceClone, Et = Ee && (!!Ne.track || ut), _t = it ? "var(--conf-low)" : Et || g && at ? "var(--brand)" : "var(--ink-55)", Ht = Oc({ on: Ee, want: je, relang: rt, playing: $e.playing, preparing: !!$e.preparing, starting: $e.starting }), [Mn] = na(Ht === "line", 400), qe = Ht === "asked" || Ht === "line" && Mn, ot = ut || qe, en = Ht === "asked" ? pi : $e.preparing ? `Speaking this line in ${(Le == null ? void 0 : Le.name) ?? "this voice"}…` : ut ? `Preparing this recording in ${(Le == null ? void 0 : Le.name) ?? "this voice"} — it will play as soon as it is ready` : it ? `This voice could not be prepared: ${it}` : se ? ye ? "Choose a voice" : Le ? Le.name : ke.vcNoVoice + G.label : `${ke.vcNoVoice}${G.label}`, mt = /* @__PURE__ */ i(vo, { open: ne, onClose: Ve, keepOpen: (!!g || y) && !le, value: we ? null : ve, onSelect: hn, languages: Ie, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Wc, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : ve) ? [we ? l : ve] : [], recent: te, requireVoice: le, sticky: y, busy: j }), Mt = ze(() => W.filter((P) => P.cloned && !P.auto), [W]), Wt = (P) => P.voiceId ? Mt.find((xe) => xe.id === `clone:${P.voiceId}`) ?? null : null, dt = ze(() => $.filter((P) => P.key >= 0), [$]), tn = ze(() => {
4327
4327
  const P = W.filter((Qe) => !Qe.cloned);
4328
4328
  if (!ge) return [...P, ...s && dt.length === 1 ? Mt.filter((Qe) => Qe.id === `clone:${dt[0].voiceId}`) : []];
4329
4329
  const xe = [];
@@ -4336,16 +4336,16 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4336
4336
  }, [W, Mt, ge, dt, O, s]), ct = ge ? dt.find((P) => P.key === ue) ?? null : null, nn = (P) => {
4337
4337
  var xe;
4338
4338
  return P ? ((xe = W.find((Qe) => Qe.id === P)) == null ? void 0 : xe.gender) ?? null : null;
4339
- }, It = ct ? ct.sex ?? nn(ae.get(ct.key)) : null, Ze = ze(() => ct ? tn.filter((P) => P.cloned ? P.live ? P.speaker === ct.key : P.id === `clone:${ct.voiceId}` : !0) : tn, [tn, ct, It, dt]), Yt = (P) => W.find((xe) => xe.cloned && xe.auto && xe.speaker === P) ?? null, wt = { people: dt, gvList: W, autoOf: Yt, savedFor: Wt }, Ut = (A == null ? void 0 : A(wt)) ?? 0, et = F ? dt.map((P) => F(P, wt)).filter((P) => !!P) : [], fn = /* @__PURE__ */ M("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? at : void 0, "aria-busy": ot || void 0, title: ot || st ? en : void 0, style: { cursor: "pointer", background: Et || ot || g && at ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && at ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? re : Dt, children: [
4339
+ }, It = ct ? ct.sex ?? nn(ae.get(ct.key)) : null, Ze = ze(() => ct ? tn.filter((P) => P.cloned ? P.live ? P.speaker === ct.key : P.id === `clone:${ct.voiceId}` : !0) : tn, [tn, ct, It, dt]), Yt = (P) => W.find((xe) => xe.cloned && xe.auto && xe.speaker === P) ?? null, wt = { people: dt, gvList: W, autoOf: Yt, savedFor: Wt }, Ut = (A == null ? void 0 : A(wt)) ?? 0, et = F ? dt.map((P) => F(P, wt)).filter((P) => !!P) : [], fn = /* @__PURE__ */ M("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? at : void 0, "aria-busy": ot || void 0, title: ot || it ? en : void 0, style: { cursor: "pointer", background: Et || ot || g && at ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && at ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? re : Dt, children: [
4340
4340
  /* @__PURE__ */ i(oe, { d: At, size: 17, sw: 1.6, style: { color: _t } }),
4341
4341
  ot && /* @__PURE__ */ i("span", { "aria-hidden": "true", style: { position: "absolute", inset: 0, boxSizing: "border-box", borderRadius: "50%", border: "2px solid var(--fill-12)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite", pointerEvents: "none" } }),
4342
4342
  et.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: et.join(" · "), children: "!" }) : !!Ut && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${Ut} speaker${Ut === 1 ? "" : "s"} can get a cloned voice`, children: Ut })
4343
4343
  ] }), bt = /* @__PURE__ */ i(Jt, { open: J, onClose: Je, title: ke.vcSheet, titleNode: T, doneLabel: ke.done, children: /* @__PURE__ */ i(
4344
- nc,
4344
+ rc,
4345
4345
  {
4346
4346
  t: ke,
4347
4347
  cast: ge && /* @__PURE__ */ i(
4348
- tc,
4348
+ nc,
4349
4349
  {
4350
4350
  t: ke,
4351
4351
  roster: $,
@@ -4391,9 +4391,9 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4391
4391
  ) }), Hn = g ? null : /* @__PURE__ */ M(Ce, { children: [
4392
4392
  mt,
4393
4393
  bt
4394
- ] }), Wn = g && (ne || J) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ne ? mt : bt }) : null, Ot = Ge ? st ? `This voice could not be prepared: ${st}` : qe && (je || $e.playing) ? Mi : null : null, Fn = pt;
4394
+ ] }), Wn = g && (ne || J) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ne ? mt : bt }) : null, Ot = Ge ? it ? `This voice could not be prepared: ${it}` : qe && (je || $e.playing) ? pi : null : null, Fn = pt;
4395
4395
  return {
4396
- barChip: { flag: z.flag, code: z.code, label: z.label, onClick: g || y ? Xt : it, active: !!((g || y) && lt), can: c },
4396
+ barChip: { flag: z.flag, code: z.code, label: z.label, onClick: g || y ? Xt : st, active: !!((g || y) && lt), can: c },
4397
4397
  sheetsOpen: ne || J,
4398
4398
  on: Ge,
4399
4399
  player: gt,
@@ -4413,7 +4413,7 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4413
4413
  error: Q.error,
4414
4414
  clearError: () => Q.clearError(),
4415
4415
  openVoices: Dt,
4416
- openPicker: it,
4416
+ openPicker: st,
4417
4417
  original: we,
4418
4418
  reloadVoices: () => x((P) => P + 1),
4419
4419
  voicesVer: E,
@@ -4443,11 +4443,11 @@ function Fc({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4443
4443
  langList: { value: we ? null : ve, onSelect: hn, languages: Ie, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : ve) ? [we ? l : ve] : [], recent: te }
4444
4444
  };
4445
4445
  }
4446
- function Zc({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: h, tailFg: f, running: m, desk: y, feedRef: j, listener: N, showLabels: p, find: b, findOpen: C, lang: S, warm: B, onVisible: Y, wordHl: ee = !0 }) {
4446
+ function Gc({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: h, tailFg: f, running: m, desk: y, feedRef: j, listener: N, showLabels: p, find: b, findOpen: C, lang: S, warm: B, onVisible: Y, wordHl: ee = !0 }) {
4447
4447
  const { playing: I, engaged: F, t: A, idx: T, seekN: _, wordSync: O, clipPos: te } = n;
4448
- pc(!0, j);
4448
+ mc(!0, j);
4449
4449
  const K = k(null);
4450
- Vl(j, K);
4450
+ Hl(j, K);
4451
4451
  const [v, ie] = L(null), ne = (b ?? "").trim().toLowerCase(), [Z, J] = L(0), pe = k(0), le = k(null), Te = k(T), je = (H) => {
4452
4452
  var E;
4453
4453
  return ((E = j.current) == null ? void 0 : E.querySelector(`[data-tx-row="${H}"]`)) ?? null;
@@ -4525,27 +4525,27 @@ function Zc({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
4525
4525
  "Now playing"
4526
4526
  ] }) });
4527
4527
  return /* @__PURE__ */ M("div", { ref: j, "data-tx-feed": "1", className: `txfeed${y ? " txfeed--desk" : ""}${C && !m ? " is-find" : ""}`, children: [
4528
- /* @__PURE__ */ i(Hl, { thumbRef: K }),
4528
+ /* @__PURE__ */ i(Wl, { thumbRef: K }),
4529
4529
  I && Z === -1 && Q("up"),
4530
4530
  e.map((H, E) => {
4531
4531
  var ge;
4532
4532
  const x = I && E === T, V = F && E === T, ce = !!u && u === H.id, W = ne && !H.text.toLowerCase().includes(ne) && !(S && ((ge = H.translations[S]) != null && ge.toLowerCase().includes(ne))) ? 0.22 : !F || E <= T || ce ? 1 : 0.38, ye = N ? () => n.playRow(E) : c && l ? () => {
4533
4533
  I && !x && n.seekRow(E), l(H);
4534
- } : I && x ? void 0 : () => n.playRow(E), G = N ? null : Zl(H, s, r), ke = !!G && (G.script > 0 || G.manual), Ie = y && !!a && v === H.id && !!G && !ke, Fe = Ur(t, H.speaker), Ae = Rr(t, H.speaker), he = Ae.lane, _e = S && H.translations[S] && H.language !== S ? H.translations[S] : null, Be = ta(e, E, S), $ = V && !O && te ? Si(Be.map((ue) => ({ t: ue.text, sp: " " })), te) : null;
4534
+ } : I && x ? void 0 : () => n.playRow(E), G = N ? null : Gl(H, s, r), ke = !!G && (G.script > 0 || G.manual), Ie = y && !!a && v === H.id && !!G && !ke, Fe = Rr(t, H.speaker), Ae = Pr(t, H.speaker), he = Ae.lane, _e = S && H.translations[S] && H.language !== S ? H.translations[S] : null, Be = ra(e, E, S), $ = V && !O && te ? Ai(Be.map((ue) => ({ t: ue.text, sp: " " })), te) : null;
4535
4535
  return /* @__PURE__ */ M("div", { "data-tx-row": E, "data-sentence": H.sentenceId, className: `txline${B ? " txline--warm" : ""}${ce ? " txline--fixing" : ""}`, "aria-current": ce || void 0, style: { opacity: W }, onClick: ye, onMouseEnter: y && a ? () => ie(H.id) : void 0, onMouseLeave: y && a ? () => ie(null) : void 0, children: [
4536
4536
  /* @__PURE__ */ M("div", { className: "txline__meta", children: [
4537
4537
  /* @__PURE__ */ i("span", { className: "txline__at", children: kt(H.start) }),
4538
4538
  p && H.speaker >= 0 && /* @__PURE__ */ M(Ce, { children: [
4539
- /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${he}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: $i(t, H.speaker) }),
4539
+ /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${he}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: Bi(t, H.speaker) }),
4540
4540
  /* @__PURE__ */ i("span", { className: `txline__who lane-${he}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Fe }),
4541
- Ae.hasVoice && /* @__PURE__ */ i(Ki, { color: Ae.fg ?? `var(--lane-${he})` })
4541
+ Ae.hasVoice && /* @__PURE__ */ i(Xi, { color: Ae.fg ?? `var(--lane-${he})` })
4542
4542
  ] }),
4543
4543
  x && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: X.headphones, size: y ? 15 : 14, sw: 1.6, stroke: p && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${he})` : "var(--ink-45)" }) }),
4544
- G && g && /* @__PURE__ */ i(Gl, { f: G, desk: y, onOpen: a ? () => a(H, !0) : void 0 }),
4545
- Ie && /* @__PURE__ */ i(ql, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
4544
+ G && g && /* @__PURE__ */ i(ql, { f: G, desk: y, onOpen: a ? () => a(H, !0) : void 0 }),
4545
+ Ie && /* @__PURE__ */ i(Kl, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
4546
4546
  ] }),
4547
4547
  /* @__PURE__ */ i("div", { className: "txline__text", children: Be.map((ue, ae) => {
4548
- const fe = `${ue.seq}:${ue.idx}`, Ye = fl(ue.prob), U = V && ee, R = U && (O ? A >= ue.start && (A < ue.end || ae === Be.length - 1 || A < Be[ae + 1].start) : ae === $), q = U && !R && (O ? ue.start > A : $ != null && ae > $), se = !_e && !N && (!!(r != null && r.has(fe)) || !!ue.script), de = !_e && !N && d && !!Ye && !se, be = de ? Ye === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Ne = se ? "var(--brand)" : q ? "var(--ink-40)" : be ?? "var(--ink-96)";
4548
+ const fe = `${ue.seq}:${ue.idx}`, Ye = pl(ue.prob), U = V && ee, R = U && (O ? A >= ue.start && (A < ue.end || ae === Be.length - 1 || A < Be[ae + 1].start) : ae === $), q = U && !R && (O ? ue.start > A : $ != null && ae > $), se = !_e && !N && (!!(r != null && r.has(fe)) || !!ue.script), de = !_e && !N && d && !!Ye && !se, be = de ? Ye === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Ne = se ? "var(--brand)" : q ? "var(--ink-40)" : be ?? "var(--ink-96)";
4549
4549
  return /* @__PURE__ */ M("span", { children: [
4550
4550
  /* @__PURE__ */ i(
4551
4551
  "span",
@@ -4581,7 +4581,7 @@ function Zc({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
4581
4581
  I && Z === 1 && Q("down")
4582
4582
  ] });
4583
4583
  }
4584
- function Gc({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, flash: l }) {
4584
+ function qc({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, flash: l }) {
4585
4585
  return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ M("div", { children: [
4586
4586
  /* @__PURE__ */ i(oe, { d: X.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
4587
4587
  /* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
@@ -4595,7 +4595,7 @@ function Gc({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, fl
4595
4595
  e.trim() && /* @__PURE__ */ i("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ i(oe, { d: X.close, size: 15, sw: 1.7 }) })
4596
4596
  ] }) });
4597
4597
  }
4598
- function qc(t, e, n, r, s) {
4598
+ function Kc(t, e, n, r, s) {
4599
4599
  const a = k(n);
4600
4600
  a.current = n;
4601
4601
  const o = k(r);
@@ -4625,7 +4625,7 @@ function qc(t, e, n, r, s) {
4625
4625
  }, []), l;
4626
4626
  }
4627
4627
  const un = { formatBits: 0, perBlock: [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], blocks: [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49] };
4628
- function na(t) {
4628
+ function sa(t) {
4629
4629
  let e = (16 * t + 128) * t + 64;
4630
4630
  if (t >= 2) {
4631
4631
  const n = Math.floor(t / 7) + 2;
@@ -4633,14 +4633,14 @@ function na(t) {
4633
4633
  }
4634
4634
  return e;
4635
4635
  }
4636
- const pi = (t) => Math.floor(na(t) / 8) - un.perBlock[t] * un.blocks[t];
4636
+ const Ni = (t) => Math.floor(sa(t) / 8) - un.perBlock[t] * un.blocks[t];
4637
4637
  function Sr(t, e) {
4638
4638
  let n = 0;
4639
4639
  for (let r = 7; r >= 0; r--)
4640
4640
  n = n << 1 ^ (n >>> 7) * 285, n ^= (e >>> r & 1) * t;
4641
4641
  return n;
4642
4642
  }
4643
- function Kc(t) {
4643
+ function Jc(t) {
4644
4644
  const e = new Array(t).fill(0);
4645
4645
  e[t - 1] = 1;
4646
4646
  let n = 1;
@@ -4650,7 +4650,7 @@ function Kc(t) {
4650
4650
  }
4651
4651
  return e;
4652
4652
  }
4653
- function Jc(t, e) {
4653
+ function Xc(t, e) {
4654
4654
  const n = new Array(e.length).fill(0);
4655
4655
  for (const r of t) {
4656
4656
  const s = r ^ n.shift();
@@ -4660,19 +4660,19 @@ function Jc(t, e) {
4660
4660
  }
4661
4661
  return n;
4662
4662
  }
4663
- function Xc(t) {
4663
+ function eu(t) {
4664
4664
  if (t === 1) return [];
4665
4665
  const e = Math.floor(t / 7) + 2, n = t * 4 + 17, r = t === 32 ? 26 : Math.ceil((t * 4 + 4) / (e * 2 - 2)) * 2, s = [6];
4666
4666
  for (let a = n - 7; s.length < e; a -= r) s.splice(1, 0, a);
4667
4667
  return s;
4668
4668
  }
4669
- function eu(t) {
4669
+ function tu(t) {
4670
4670
  const e = Array.from(new TextEncoder().encode(t));
4671
4671
  let n = 1;
4672
- for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= pi(n) * 8); n++)
4672
+ for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= Ni(n) * 8); n++)
4673
4673
  ;
4674
4674
  if (n > 40) throw new Error("Text too long for a QR code");
4675
- const r = n * 4 + 17, s = pi(n) * 8, a = [], o = (T, _) => {
4675
+ const r = n * 4 + 17, s = Ni(n) * 8, a = [], o = (T, _) => {
4676
4676
  for (let O = _ - 1; O >= 0; O--) a.push(T >>> O & 1);
4677
4677
  };
4678
4678
  o(4, 4), o(e.length, n <= 9 ? 8 : 16);
@@ -4681,11 +4681,11 @@ function eu(t) {
4681
4681
  for (let T = 236; a.length < s; T ^= 253) o(T, 8);
4682
4682
  const l = [];
4683
4683
  for (let T = 0; T < a.length; T += 8) l.push(a.slice(T, T + 8).reduce((_, O) => _ << 1 | O, 0));
4684
- const c = un.blocks[n], u = un.perBlock[n], d = Math.floor(na(n) / 8), g = c - d % c, h = Math.floor(d / c), f = [], m = Kc(u);
4684
+ const c = un.blocks[n], u = un.perBlock[n], d = Math.floor(sa(n) / 8), g = c - d % c, h = Math.floor(d / c), f = [], m = Jc(u);
4685
4685
  for (let T = 0, _ = 0; T < c; T++) {
4686
4686
  const O = l.slice(_, _ + h - u + (T < g ? 0 : 1));
4687
4687
  _ += O.length;
4688
- const te = Jc(O, m);
4688
+ const te = Xc(O, m);
4689
4689
  T < g && O.push(0), f.push(O.concat(te));
4690
4690
  }
4691
4691
  const y = [];
@@ -4704,7 +4704,7 @@ function eu(t) {
4704
4704
  }
4705
4705
  };
4706
4706
  b(3, 3), b(r - 4, 3), b(3, r - 4);
4707
- const C = Xc(n);
4707
+ const C = eu(n);
4708
4708
  for (let T = 0; T < C.length; T++) for (let _ = 0; _ < C.length; _++)
4709
4709
  if (!(T === 0 && _ === 0 || T === 0 && _ === C.length - 1 || T === C.length - 1 && _ === 0))
4710
4710
  for (let O = -2; O <= 2; O++) for (let te = -2; te <= 2; te++) p(C[T] + te, C[_] + O, Math.max(Math.abs(te), Math.abs(O)) !== 1);
@@ -4791,30 +4791,30 @@ function eu(t) {
4791
4791
  }
4792
4792
  return ee(F), S(F), j;
4793
4793
  }
4794
- function tu(t) {
4795
- const e = eu(t), n = e.length, r = 2;
4794
+ function nu(t) {
4795
+ const e = tu(t), n = e.length, r = 2;
4796
4796
  let s = "";
4797
4797
  for (let o = 0; o < n; o++) for (let l = 0; l < n; l++) e[o][l] && (s += `M${l} ${o}h1v1h-1z`);
4798
4798
  const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-r} ${-r} ${n + r * 2} ${n + r * 2}" shape-rendering="crispEdges"><rect x="${-r}" y="${-r}" width="${n + r * 2}" height="${n + r * 2}" fill="#fff"/><path fill="#111" d="${s}"/></svg>`;
4799
4799
  return `data:image/svg+xml,${encodeURIComponent(a)}`;
4800
4800
  }
4801
- const ra = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", nu = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4801
+ const ia = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", ru = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4802
4802
  function yr() {
4803
4803
  const t = document;
4804
4804
  return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
4805
4805
  }
4806
- let Br = null;
4807
- function mi(t) {
4808
- Br = t;
4806
+ let Vr = null;
4807
+ function yi(t) {
4808
+ Vr = t;
4809
4809
  }
4810
- function Ni() {
4810
+ function Ti() {
4811
4811
  const t = document;
4812
4812
  return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
4813
4813
  }
4814
- function ru() {
4814
+ function su() {
4815
4815
  var e;
4816
4816
  if (typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches)) return !1;
4817
- const t = Br ?? document.documentElement;
4817
+ const t = Vr ?? document.documentElement;
4818
4818
  return !t.requestFullscreen && !t.webkitRequestFullscreen;
4819
4819
  }
4820
4820
  function on(t) {
@@ -4824,7 +4824,7 @@ function on(t) {
4824
4824
  function En(t) {
4825
4825
  var s, a, o, l;
4826
4826
  if (typeof document > "u") return;
4827
- const e = document, n = Br ?? document.documentElement, r = e.fullscreenElement ?? e.webkitFullscreenElement;
4827
+ const e = document, n = Vr ?? document.documentElement, r = e.fullscreenElement ?? e.webkitFullscreenElement;
4828
4828
  try {
4829
4829
  t && !r && ((a = (s = n.requestFullscreen ?? n.webkitRequestFullscreen) == null ? void 0 : s.call(n, { navigationUI: "hide" })) == null || a.catch(() => {
4830
4830
  })), !t && r && ((l = (o = e.exitFullscreen ?? e.webkitExitFullscreen) == null ? void 0 : o.call(e)) == null || l.catch(() => {
@@ -4832,7 +4832,7 @@ function En(t) {
4832
4832
  } catch {
4833
4833
  }
4834
4834
  }
4835
- function su(t) {
4835
+ function iu(t) {
4836
4836
  const [e, n] = L(() => {
4837
4837
  var r;
4838
4838
  return typeof window < "u" && !!((r = window.matchMedia) != null && r.call(window, t).matches);
@@ -4884,7 +4884,7 @@ function _n({ pos: t, interactive: e, axis: n = "x" }) {
4884
4884
  /* @__PURE__ */ i("span", { className: "gfull__t gfull__end", style: { color: t.live ? "#ec634d" : "rgba(234,236,250,.6)" }, children: t.endLabel })
4885
4885
  ] });
4886
4886
  }
4887
- function Wu({ pos: t }) {
4887
+ function Fu({ pos: t }) {
4888
4888
  const [e, n] = L(null), r = (l) => {
4889
4889
  const c = l.currentTarget.getBoundingClientRect();
4890
4890
  return Math.min(1, Math.max(0, (l.clientX - c.left) / Math.max(1, c.width)));
@@ -4938,7 +4938,7 @@ function Yn({ t, mini: e }) {
4938
4938
  disabled: !t.playable,
4939
4939
  style: { background: t.playable ? t.playing ? "rgba(238,240,248,.92)" : "var(--brand)" : "rgba(5,6,21,.42)", color: t.playable ? t.playing ? "#131326" : "var(--brand-ink)" : "rgba(234,236,250,.5)", cursor: t.playable ? "pointer" : "default" },
4940
4940
  onClick: t.onPlay,
4941
- children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(Xa, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(dn, { size: e ? 15 : 19 })
4941
+ children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(to, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(dn, { size: e ? 15 : 19 })
4942
4942
  }
4943
4943
  ),
4944
4944
  /* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(oe, { d: X.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
@@ -4946,7 +4946,7 @@ function Yn({ t, mini: e }) {
4946
4946
  }
4947
4947
  function Dr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4948
4948
  return /* @__PURE__ */ M("div", { className: `gfull__brand${s ? " gfull__brand--mark" : ""}`, children: [
4949
- /* @__PURE__ */ i("a", { href: ji, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ i(Ar, { dark: !0, size: 22 }) : /* @__PURE__ */ i(Qn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4949
+ /* @__PURE__ */ i("a", { href: Ii, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ i(Ar, { dark: !0, size: 22 }) : /* @__PURE__ */ i(Qn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4950
4950
  t && /* @__PURE__ */ M("span", { className: "gfull__live", children: [
4951
4951
  /* @__PURE__ */ i("i", {}),
4952
4952
  "LIVE"
@@ -4954,13 +4954,13 @@ function Dr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4954
4954
  r != null && /* @__PURE__ */ i("span", { className: "gfull__txpct", title: "Still being transcribed: it plays as far as it is written", children: `TRANSCRIBING ${r}%` })
4955
4955
  ] });
4956
4956
  }
4957
- function sa({ v: t, size: e }) {
4957
+ function aa({ v: t, size: e }) {
4958
4958
  return /* @__PURE__ */ M("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", "aria-busy": t.busy || void 0, title: t.busy ? "Preparing the voice…" : t.title, disabled: !t.on, style: { position: "relative", opacity: t.on || t.busy ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: [
4959
4959
  /* @__PURE__ */ i(oe, { d: X.headphones, size: e, sw: 1.6 }),
4960
4960
  t.busy && /* @__PURE__ */ i("span", { "aria-hidden": "true", style: { position: "absolute", inset: 0, boxSizing: "border-box", borderRadius: "50%", border: "2px solid var(--fill-12)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite", pointerEvents: "none" } })
4961
4961
  ] });
4962
4962
  }
4963
- function iu({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, copied: o }) {
4963
+ function au({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, copied: o }) {
4964
4964
  return /* @__PURE__ */ M("div", { className: "gmini", "data-theme": "dark", children: [
4965
4965
  /* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
4966
4966
  /* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(Dr, { live: t.live, mini: !0 }) }),
@@ -4970,18 +4970,18 @@ function iu({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, c
4970
4970
  /* @__PURE__ */ i(Yn, { t: e, mini: !0 }),
4971
4971
  /* @__PURE__ */ i("span", { style: { flex: 1 } }),
4972
4972
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
4973
- /* @__PURE__ */ i(sa, { v: r, size: 14 }),
4973
+ /* @__PURE__ */ i(aa, { v: r, size: 14 }),
4974
4974
  s && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
4975
4975
  l.stopPropagation(), s();
4976
4976
  }, children: /* @__PURE__ */ i(oe, { d: X.share, size: 13, sw: 1.8 }) }),
4977
- /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: ra, size: 14, sw: 1.8 }) })
4977
+ /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: ia, size: 14, sw: 1.8 }) })
4978
4978
  ] })
4979
4979
  ] }),
4980
4980
  o
4981
4981
  ] });
4982
4982
  }
4983
- const au = { color: "rgba(255,255,255,.4)" };
4984
- function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: g, ad: h, chip: f, transport: m, picker: y, sheet: j, voices: N, voicesBtn: p, sheetOpen: b, onShare: C, onSettings: S, paused: B, copied: Y, onTouch: ee, onClose: I }) {
4983
+ const ou = { color: "rgba(255,255,255,.4)" };
4984
+ function oa({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: g, ad: h, chip: f, transport: m, picker: y, sheet: j, voices: N, voicesBtn: p, sheetOpen: b, onShare: C, onSettings: S, paused: B, copied: Y, onTouch: ee, onClose: I }) {
4985
4985
  const [F, A] = L(() => !!yr());
4986
4986
  D(() => {
4987
4987
  const $ = () => A(!!yr());
@@ -5007,7 +5007,7 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5007
5007
  }), ue && ae && (ue.content = ae);
5008
5008
  };
5009
5009
  }, []);
5010
- const ne = ze(() => n && ru(), [n]), [Z, J] = L(ne);
5010
+ const ne = ze(() => n && su(), [n]), [Z, J] = L(ne);
5011
5011
  D(() => {
5012
5012
  if (!n) return;
5013
5013
  const $ = [document.documentElement, document.body], ge = $.map((fe) => [fe.style.overflow, fe.style.overscrollBehavior]);
@@ -5030,7 +5030,7 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5030
5030
  pe.current = b, D(() => {
5031
5031
  const $ = (ae) => ae instanceof HTMLElement && (ae.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(ae.tagName)), ge = (ae) => {
5032
5032
  var fe;
5033
- ae.key === "Escape" && !pe.current && T.current && (ae.stopPropagation(), T.current()), ae.key === " " && !pe.current && !$(ae.target) && (ae.preventDefault(), ae.stopPropagation(), ae.repeat || (fe = _.current) == null || fe.call(_)), (ae.key === "f" || ae.key === "F") && !ae.metaKey && !ae.ctrlKey && !ae.altKey && !pe.current && !$(ae.target) && Ni() && (ae.preventDefault(), ae.repeat || En(!yr()));
5033
+ ae.key === "Escape" && !pe.current && T.current && (ae.stopPropagation(), T.current()), ae.key === " " && !pe.current && !$(ae.target) && (ae.preventDefault(), ae.stopPropagation(), ae.repeat || (fe = _.current) == null || fe.call(_)), (ae.key === "f" || ae.key === "F") && !ae.metaKey && !ae.ctrlKey && !ae.altKey && !pe.current && !$(ae.target) && Ti() && (ae.preventDefault(), ae.repeat || En(!yr()));
5034
5034
  }, ue = (ae) => {
5035
5035
  ae.key === " " && !pe.current && !$(ae.target) && ae.preventDefault();
5036
5036
  };
@@ -5038,7 +5038,7 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5038
5038
  window.removeEventListener("keydown", ge, !0), window.removeEventListener("keyup", ue, !0);
5039
5039
  };
5040
5040
  }, []);
5041
- const le = su("(orientation: landscape) and (max-height: 540px)"), Te = k(null), [je, Se] = L(null);
5041
+ const le = iu("(orientation: landscape) and (max-height: 540px)"), Te = k(null), [je, Se] = L(null);
5042
5042
  Kt(() => {
5043
5043
  const $ = Te.current;
5044
5044
  if (!$ || (Se($.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
@@ -5071,7 +5071,7 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5071
5071
  }, [x, H]);
5072
5072
  const [V, ce] = L(!0), [W, ye] = L(!1), G = k(void 0);
5073
5073
  D(() => () => window.clearTimeout(G.current), []);
5074
- const ke = B != null && B.share ? B.share.url(V && B.share.at >= 1 ? Math.floor(B.share.at) : null) : "", Ie = ze(() => we && ke && !m.playing ? tu(ke) : "", [we, ke, m.playing]), Fe = () => {
5074
+ const ke = B != null && B.share ? B.share.url(V && B.share.at >= 1 ? Math.floor(B.share.at) : null) : "", Ie = ze(() => we && ke && !m.playing ? nu(ke) : "", [we, ke, m.playing]), Fe = () => {
5075
5075
  var $;
5076
5076
  ($ = navigator.clipboard) == null || $.writeText(ke).then(() => {
5077
5077
  ye(!0), window.clearTimeout(G.current), G.current = window.setTimeout(() => ye(!1), 1800);
@@ -5092,16 +5092,16 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5092
5092
  /* @__PURE__ */ i(oe, { d: W ? X.check : X.copy, size: 14, sw: 1.8 }),
5093
5093
  W ? "Copied" : "Copy link"
5094
5094
  ] }),
5095
- /* @__PURE__ */ M("button", { type: "button", className: "gfull__sharebtn", onClick: () => Qr(ke, s), children: [
5095
+ /* @__PURE__ */ M("button", { type: "button", className: "gfull__sharebtn", onClick: () => Br(ke, s), children: [
5096
5096
  /* @__PURE__ */ i(oe, { d: X.share, size: 14, sw: 1.6 }),
5097
5097
  "Share"
5098
5098
  ] })
5099
5099
  ] })
5100
5100
  ] })
5101
5101
  ] }), he = ($, ge, ue, ae, fe, Ye = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: $, "aria-label": $, onClick: ae, children: /* @__PURE__ */ i(oe, { d: ge, size: (we ? 20 : Ee ? 15 : 18) + Ye, sw: ue, style: fe }) }), _e = /* @__PURE__ */ M("div", { className: "gfull__acts", children: [
5102
- p && /* @__PURE__ */ i(sa, { v: p, size: we ? 20 : Ee ? 15 : 18 }),
5102
+ p && /* @__PURE__ */ i(aa, { v: p, size: we ? 20 : Ee ? 15 : 18 }),
5103
5103
  C && he("Share", X.share, 1.6, C),
5104
- Ni() && !e && he(F ? "Exit full screen" : "Full screen", F ? nu : ra, 1.7, () => En(!F)),
5104
+ Ti() && !e && he(F ? "Exit full screen" : "Full screen", F ? ru : ia, 1.7, () => En(!F)),
5105
5105
  I && he("Close player", X.close, 1.7, I)
5106
5106
  ] }), Be = (d || g || S) && /* @__PURE__ */ M("div", { className: "gfull__top", children: [
5107
5107
  d && he(d.muted ? "Unmute" : "Mute", d.muted ? X.volumeOff : X.volume, 1.6, d.onToggle),
@@ -5166,7 +5166,7 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5166
5166
  ] }),
5167
5167
  " "
5168
5168
  ] }),
5169
- l.words.map(($, ge) => /* @__PURE__ */ M("span", { "data-said": $.dim ? void 0 : "", "data-at": l.cursor != null && ge <= l.cursor ? "" : void 0, style: $.dim ? au : void 0, children: [
5169
+ l.words.map(($, ge) => /* @__PURE__ */ M("span", { "data-said": $.dim ? void 0 : "", "data-at": l.cursor != null && ge <= l.cursor ? "" : void 0, style: $.dim ? ou : void 0, children: [
5170
5170
  $.t,
5171
5171
  $.sp
5172
5172
  ] }, ge))
@@ -5203,7 +5203,7 @@ function ia({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
5203
5203
  }
5204
5204
  );
5205
5205
  }
5206
- function ou({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o, onOptions: l, optionsActive: c }) {
5206
+ function lu({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o, onOptions: l, optionsActive: c }) {
5207
5207
  return /* @__PURE__ */ M("div", { className: "ghead", children: [
5208
5208
  e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 19, sw: 1.7 }) }),
5209
5209
  r && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(Ar, { dark: t, size: 30 }) }),
@@ -5214,20 +5214,20 @@ function ou({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o
5214
5214
  ] }),
5215
5215
  o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
5216
5216
  ] }) }),
5217
- /* @__PURE__ */ i(eo, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ M("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
5217
+ /* @__PURE__ */ i(no, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ M("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
5218
5218
  /* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
5219
5219
  /* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
5220
5220
  /* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
5221
5221
  ] }) })
5222
5222
  ] });
5223
5223
  }
5224
- const lu = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", cu = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: X.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? lu : X.headphones, size: 19, sw: 1.5 }) }], Vr = "https://app.vocalstack.com", uu = "/connect/transcribe";
5225
- function du() {
5224
+ const cu = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", uu = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: X.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? cu : X.headphones, size: 19, sw: 1.5 }) }], Hr = "https://app.vocalstack.com", du = "/connect/transcribe";
5225
+ function hu() {
5226
5226
  const t = new Uint8Array(24);
5227
5227
  return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
5228
5228
  }
5229
- function aa(t, e, n) {
5230
- const r = new URL(t ?? Vr), s = du(), a = new URL(uu, r);
5229
+ function la(t, e, n) {
5230
+ const r = new URL(t ?? Hr), s = hu(), a = new URL(du, r);
5231
5231
  e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", s);
5232
5232
  const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), u = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), d = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(u)}`);
5233
5233
  return d ? new Promise((g, h) => {
@@ -5267,33 +5267,33 @@ function aa(t, e, n) {
5267
5267
  }, 500);
5268
5268
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
5269
5269
  }
5270
- async function hu(t, e, n) {
5271
- const r = await aa(t, { url: e }, n);
5270
+ async function gu(t, e, n) {
5271
+ const r = await la(t, { url: e }, n);
5272
5272
  return r === "connected" ? null : r;
5273
5273
  }
5274
- const oa = "vsp.connected";
5275
- function gu(t) {
5274
+ const ca = "vsp.connected";
5275
+ function Mu(t) {
5276
5276
  try {
5277
- return localStorage.getItem(oa) === new URL(t ?? Vr).origin;
5277
+ return localStorage.getItem(ca) === new URL(t ?? Hr).origin;
5278
5278
  } catch {
5279
5279
  return !1;
5280
5280
  }
5281
5281
  }
5282
- function Mu(t) {
5282
+ function fu(t) {
5283
5283
  try {
5284
- localStorage.setItem(oa, new URL(t ?? Vr).origin);
5284
+ localStorage.setItem(ca, new URL(t ?? Hr).origin);
5285
5285
  } catch {
5286
5286
  }
5287
5287
  }
5288
- const fu = {
5288
+ const pu = {
5289
5289
  "signing-in": "Sign in to VocalStack in the window that opened…",
5290
5290
  consent: "Confirm in the VocalStack window…",
5291
5291
  looking: "Looking for your transcription of this video…",
5292
5292
  confirm: "Confirm in the VocalStack window…",
5293
5293
  checking: "Checking the link…",
5294
5294
  starting: "Starting the transcription…"
5295
- }, pu = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5296
- function mu({ options: t, onStarted: e, onReplay: n, onClose: r }) {
5295
+ }, mu = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5296
+ function Nu({ options: t, onStarted: e, onReplay: n, onClose: r }) {
5297
5297
  const [s, a] = L(""), [o, l] = L(!1), [c, u] = L(null), [d, g] = L(null);
5298
5298
  D(() => {
5299
5299
  const y = (j) => {
@@ -5301,11 +5301,11 @@ function mu({ options: t, onStarted: e, onReplay: n, onClose: r }) {
5301
5301
  };
5302
5302
  return window.addEventListener("keydown", y), () => window.removeEventListener("keydown", y);
5303
5303
  }, [r]);
5304
- const h = s.trim(), f = pu.test(h), m = async () => {
5304
+ const h = s.trim(), f = mu.test(h), m = async () => {
5305
5305
  if (!(!f || o)) {
5306
5306
  l(!0), u(null);
5307
5307
  try {
5308
- const y = await hu(t.appUrl, /^https?:\/\//i.test(h) ? h : `https://${h}`, g);
5308
+ const y = await gu(t.appUrl, /^https?:\/\//i.test(h) ? h : `https://${h}`, g);
5309
5309
  y && e(y);
5310
5310
  } catch (y) {
5311
5311
  u(y instanceof Error ? y.message : "Something went wrong. Please try again.");
@@ -5329,7 +5329,7 @@ function mu({ options: t, onStarted: e, onReplay: n, onClose: r }) {
5329
5329
  }, "aria-label": "Video link" }),
5330
5330
  /* @__PURE__ */ i("button", { type: "submit", className: "vsp-end__go", disabled: !f || o, children: o ? /* @__PURE__ */ i(ht, { size: 15, color: "#050507", track: "rgba(5,5,7,.2)" }) : "Transcribe" })
5331
5331
  ] }),
5332
- o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: fu[d ?? "checking"] }),
5332
+ o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: pu[d ?? "checking"] }),
5333
5333
  c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
5334
5334
  /* @__PURE__ */ M("div", { className: "vsp-end__foot", children: [
5335
5335
  /* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
@@ -5340,7 +5340,7 @@ function mu({ options: t, onStarted: e, onReplay: n, onClose: r }) {
5340
5340
  ] })
5341
5341
  ] }) });
5342
5342
  }
5343
- function la(t) {
5343
+ function ua(t) {
5344
5344
  const [e, n] = L(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
5345
5345
  return D(() => {
5346
5346
  if (t != null) return;
@@ -5348,9 +5348,9 @@ function la(t) {
5348
5348
  return window.addEventListener("resize", r), () => window.removeEventListener("resize", r);
5349
5349
  }, [t]), t ?? e;
5350
5350
  }
5351
- const Nu = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
5352
- function yu(t, e) {
5353
- const n = Hi(), [r, s] = Ai(), [a, o] = L(null), [l, c] = L("main"), u = Cr(n, t.lang), d = ze(() => Ei(n, "translation"), [n]), g = (Y) => {
5351
+ const yu = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
5352
+ function Tu(t, e) {
5353
+ const n = Fi(), [r, s] = _i(), [a, o] = L(null), [l, c] = L("main"), u = Cr(n, t.lang), d = ze(() => Yi(n, "translation"), [n]), g = (Y) => {
5354
5354
  e({ lang: Y }), s(Y);
5355
5355
  }, h = _r({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: d, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: r, keepOpen: !0 }), f = () => {
5356
5356
  o(null), c("main");
@@ -5421,7 +5421,7 @@ const yt = (t, e = "nonzero") => /* @__PURE__ */ i("path", { d: t, fill: "curren
5421
5421
  /* @__PURE__ */ i("path", { d: "M6.5 2.75h7.25l4.75 4.75v12.25a1.5 1.5 0 0 1-1.5 1.5H6.5a1.5 1.5 0 0 1-1.5-1.5V4.25a1.5 1.5 0 0 1 1.5-1.5Z", fill: "none", stroke: "currentColor", strokeWidth: "1.4", strokeLinejoin: "round" }),
5422
5422
  /* @__PURE__ */ i("path", { d: "M13.75 2.75V7.5h4.75", fill: "none", stroke: "currentColor", strokeWidth: "1.4", strokeLinejoin: "round" }),
5423
5423
  /* @__PURE__ */ i("text", { x: "11.75", y: "17.4", textAnchor: "middle", fontSize: t.length > 3 ? 4.4 : 5.2, fontWeight: "800", fill: "currentColor", fontFamily: "inherit", letterSpacing: ".2", children: t })
5424
- ] }), yi = [
5424
+ ] }), wi = [
5425
5425
  { name: "YouTube", tint: "#ff3b30", glyph: yt("M21.6 7.2a2.7 2.7 0 0 0-1.9-1.9C18 4.8 12 4.8 12 4.8s-6 0-7.7.5a2.7 2.7 0 0 0-1.9 1.9C2 8.9 2 12 2 12s0 3.1.4 4.8a2.7 2.7 0 0 0 1.9 1.9c1.7.5 7.7.5 7.7.5s6 0 7.7-.5a2.7 2.7 0 0 0 1.9-1.9c.4-1.7.4-4.8.4-4.8s0-3.1-.4-4.8ZM10 15.1V8.9l5.3 3.1L10 15.1Z", "evenodd") },
5426
5426
  { name: "MP3", tint: "#f78472", glyph: Qt("MP3") },
5427
5427
  { name: "Vimeo", tint: "#1ab7ea", glyph: yt("M22 7.4c-.1 2-1.5 4.7-4.2 8.1-2.8 3.6-5.1 5.4-7 5.4-1.2 0-2.2-1.1-3-3.3L6.2 11.6C5.6 9.4 5 8.3 4.3 8.3c-.1 0-.6.3-1.4.9L2 8l2.7-2.4C5.9 4.6 6.8 4 7.4 4c1.4-.1 2.3.9 2.6 2.9.4 2.2.6 3.6.8 4.1.4 1.8.9 2.7 1.4 2.7.4 0 1-.6 1.8-1.9.8-1.2 1.2-2.2 1.3-2.8.1-1.1-.3-1.6-1.3-1.6-.5 0-.9.1-1.4.3.9-3 2.7-4.5 5.3-4.4 1.9.1 2.8 1.3 2.7 3.7Z") },
@@ -5467,19 +5467,19 @@ const yt = (t, e = "nonzero") => /* @__PURE__ */ i("path", { d: t, fill: "curren
5467
5467
  /* @__PURE__ */ i("circle", { cx: "8", cy: "12", r: "1.6", fill: "currentColor", stroke: "none" }),
5468
5468
  /* @__PURE__ */ i("path", { d: "M11.5 10h6M11.5 14h4" })
5469
5469
  ] }) }
5470
- ], Tu = 14, wu = 4;
5471
- function vu(t) {
5472
- const e = yi.length, n = [];
5473
- for (let r = 0; r < 11; r++) n.push(yi[(r + t * 7) % e]);
5470
+ ], wu = 14, vu = 4;
5471
+ function Lu(t) {
5472
+ const e = wi.length, n = [];
5473
+ for (let r = 0; r < 11; r++) n.push(wi[(r + t * 7) % e]);
5474
5474
  return n;
5475
5475
  }
5476
- function Lu({ t }) {
5476
+ function ku({ t }) {
5477
5477
  return /* @__PURE__ */ M("span", { className: "vsp-prov__tile", style: { "--tint": t.tint }, children: [
5478
5478
  /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "100%", height: "100%", "aria-hidden": "true", children: t.glyph }),
5479
5479
  /* @__PURE__ */ i("span", { className: "vsp-prov__name", children: t.name })
5480
5480
  ] });
5481
5481
  }
5482
- function ku() {
5482
+ function ju() {
5483
5483
  const t = k(null), [e, n] = L(!0), [r, s] = L(() => typeof document > "u" || !document.hidden);
5484
5484
  return D(() => {
5485
5485
  const a = () => s(!document.hidden);
@@ -5489,19 +5489,19 @@ function ku() {
5489
5489
  return o && typeof IntersectionObserver < "u" && (l = new IntersectionObserver(([c]) => n(c.isIntersecting)), l.observe(o)), () => {
5490
5490
  document.removeEventListener("visibilitychange", a), l == null || l.disconnect();
5491
5491
  };
5492
- }, []), /* @__PURE__ */ i("div", { ref: t, className: `vsp-prov${e && r ? "" : " vsp-prov--still"}`, "aria-hidden": "true", children: /* @__PURE__ */ i("div", { className: "vsp-prov__plane", children: Array.from({ length: Tu }, (a, o) => {
5493
- const l = vu(o);
5494
- return /* @__PURE__ */ i("div", { className: `vsp-prov__row${o % 2 ? " vsp-prov__row--rev" : ""}`, style: { animationDuration: `${80 + o * 11}s`, animationDelay: `-${o * 17}s` }, children: Array.from({ length: wu }, (c, u) => l.map((d, g) => /* @__PURE__ */ i(Lu, { t: d }, `${u}-${g}`))) }, o);
5492
+ }, []), /* @__PURE__ */ i("div", { ref: t, className: `vsp-prov${e && r ? "" : " vsp-prov--still"}`, "aria-hidden": "true", children: /* @__PURE__ */ i("div", { className: "vsp-prov__plane", children: Array.from({ length: wu }, (a, o) => {
5493
+ const l = Lu(o);
5494
+ return /* @__PURE__ */ i("div", { className: `vsp-prov__row${o % 2 ? " vsp-prov__row--rev" : ""}`, style: { animationDuration: `${80 + o * 11}s`, animationDelay: `-${o * 17}s` }, children: Array.from({ length: vu }, (c, u) => l.map((d, g) => /* @__PURE__ */ i(ku, { t: d }, `${u}-${g}`))) }, o);
5495
5495
  }) }) });
5496
5496
  }
5497
- const ca = {
5497
+ const da = {
5498
5498
  "signing-in": "Sign in to VocalStack in the window that opened…",
5499
5499
  consent: "Confirm in the VocalStack window…",
5500
5500
  looking: "Looking for your transcription of this video…",
5501
5501
  confirm: "Confirm in the VocalStack window…",
5502
5502
  checking: "Checking the link…",
5503
5503
  starting: "Starting the transcription…"
5504
- }, Ti = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5504
+ }, vi = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5505
5505
  function Tr(t) {
5506
5506
  try {
5507
5507
  return new URL(t).hostname.replace(/^www\./, "");
@@ -5509,38 +5509,39 @@ function Tr(t) {
5509
5509
  return t;
5510
5510
  }
5511
5511
  }
5512
- function ju(t, e) {
5513
- const [n, r] = L(!1), [s, a] = L(null), [o, l] = L(null), [c, u] = L(() => gu(t)), d = Ke((f) => {
5512
+ function zu(t, e) {
5513
+ const [n, r] = L(!1), [s, a] = L(null), [o, l] = L(null), [c, u] = L(() => Mu(t)), d = Ke((f) => {
5514
5514
  if (n) return;
5515
5515
  r(!0), l(null);
5516
5516
  let m;
5517
5517
  try {
5518
- m = aa(t, f, a);
5518
+ m = la(t, f, a);
5519
5519
  } catch (y) {
5520
5520
  m = Promise.reject(y);
5521
5521
  }
5522
5522
  m.then((y) => {
5523
- y && (Mu(t), u(!0), y !== "connected" && e(y));
5523
+ y && (fu(t), u(!0), y !== "connected" && e(y));
5524
5524
  }).catch((y) => l(y instanceof Error ? y.message : "Something went wrong. Please try again.")).finally(() => {
5525
5525
  r(!1), a(null);
5526
5526
  });
5527
5527
  }, [t, n, e]), g = Ke(() => d({ connect: !0 }), [d]), h = Ke((f, m) => d({ url: f, ask: m }), [d]);
5528
5528
  return { busy: n, status: s, err: o, connected: c, connect: g, start: h };
5529
5529
  }
5530
- function zu(t) {
5530
+ function Iu(t) {
5531
5531
  return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
5532
5532
  }
5533
- function Iu({ poster: t, src: e }) {
5534
- const n = e ? Gi(e) : null, r = t ?? (n ? `https://i.ytimg.com/vi/${n}/hqdefault.jpg` : null);
5535
- return r ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${r})` } }) : e && zu(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ M(Ce, { children: [
5533
+ function bu({ poster: t, src: e }) {
5534
+ var s;
5535
+ const n = e && ((s = Yr(e)) == null ? void 0 : s.id) === "youtube" ? Ki(e) : null, r = t ?? (n ? `https://i.ytimg.com/vi/${n}/hqdefault.jpg` : null);
5536
+ return r ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${r})` } }) : e && Iu(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ M(Ce, { children: [
5536
5537
  /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }),
5537
- /* @__PURE__ */ i(ku, {})
5538
+ /* @__PURE__ */ i(ju, {})
5538
5539
  ] });
5539
5540
  }
5540
- const bu = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5541
+ const Ou = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5541
5542
  } };
5542
5543
  function $n({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children: o }) {
5543
- const l = yu(t.prefs, t.set), c = la(), u = k(null), [d, g] = L(!1);
5544
+ const l = Tu(t.prefs, t.set), c = ua(), u = k(null), [d, g] = L(!1);
5544
5545
  Kt(() => {
5545
5546
  var j;
5546
5547
  const f = (j = u.current) == null ? void 0 : j.parentElement;
@@ -5554,38 +5555,38 @@ function $n({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children:
5554
5555
  }, onNext: () => {
5555
5556
  }, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
5556
5557
  return /* @__PURE__ */ M("div", { ref: u, className: `vsp-idleroot${d ? " vsp-idleroot--small" : ""}`, children: [
5557
- /* @__PURE__ */ i(ia, { page: s, picture: /* @__PURE__ */ i(Iu, { poster: e, src: n }), title: r, desk: c, pos: bu, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: h, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Qr(t.shareUrl ?? window.location.href, r), copied: null, onTouch: () => {
5558
+ /* @__PURE__ */ i(oa, { page: s, picture: /* @__PURE__ */ i(bu, { poster: e, src: n }), title: r, desk: c, pos: Ou, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: h, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Br(t.shareUrl ?? window.location.href, r), copied: null, onTouch: () => {
5558
5559
  } }),
5559
5560
  !l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
5560
5561
  ] });
5561
5562
  }
5562
- function ua({ connect: t, onClick: e, label: n }) {
5563
+ function ha({ connect: t, onClick: e, label: n }) {
5563
5564
  return /* @__PURE__ */ M(Ce, { children: [
5564
5565
  /* @__PURE__ */ M("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
5565
5566
  t.busy ? /* @__PURE__ */ i(ht, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: X.link, size: 18, sw: 1.8 }),
5566
5567
  /* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
5567
5568
  ] }),
5568
- t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: ca[t.status ?? "checking"] }),
5569
+ t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: da[t.status ?? "checking"] }),
5569
5570
  t.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: t.err })
5570
5571
  ] });
5571
5572
  }
5572
- function Ou({ idle: t, src: e, ask: n, connect: r, page: s, poster: a = null, onClear: o }) {
5573
+ function Cu({ idle: t, src: e, ask: n, connect: r, page: s, poster: a = null, onClear: o }) {
5573
5574
  const l = () => r.start(e, n);
5574
5575
  return /* @__PURE__ */ M($n, { idle: t, poster: a, src: e, title: Tr(e), page: s, onAct: l, children: [
5575
- /* @__PURE__ */ i(ua, { connect: r, onClick: l, label: r.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5576
+ /* @__PURE__ */ i(ha, { connect: r, onClick: l, label: r.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5576
5577
  !r.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: r.connected ? `Plays ${Tr(e)} with subtitles and spoken translations.` : `Connect to play ${Tr(e)} with subtitles and spoken translations.` }),
5577
5578
  o && !r.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
5578
5579
  ] });
5579
5580
  }
5580
- function Cu({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5581
- const [a, o] = L(""), l = k(null), c = k(null), u = a.trim(), d = Ti.test(u), g = () => {
5581
+ function xu({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5582
+ const [a, o] = L(""), l = k(null), c = k(null), u = a.trim(), d = vi.test(u), g = () => {
5582
5583
  if (!d || e.busy) return;
5583
5584
  const m = /^https?:\/\//i.test(u) ? u : `https://${u}`;
5584
5585
  s(m), e.start(m, !1);
5585
5586
  };
5586
5587
  if (!e.connected)
5587
5588
  return /* @__PURE__ */ M($n, { idle: t, poster: r, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
5588
- /* @__PURE__ */ i(ua, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5589
+ /* @__PURE__ */ i(ha, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5589
5590
  !e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
5590
5591
  ] });
5591
5592
  const h = () => {
@@ -5593,7 +5594,7 @@ function Cu({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5593
5594
  d ? g() : (m = l.current) == null || m.focus();
5594
5595
  }, f = (m) => {
5595
5596
  const y = m.trim();
5596
- if (!Ti.test(y) || e.busy || y === c.current) return;
5597
+ if (!vi.test(y) || e.busy || y === c.current) return;
5597
5598
  c.current = y;
5598
5599
  const j = /^https?:\/\//i.test(y) ? y : `https://${y}`;
5599
5600
  s(j), e.start(j, !1);
@@ -5609,11 +5610,11 @@ function Cu({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5609
5610
  }, "aria-label": "Video link", autoFocus: !0 }),
5610
5611
  e.busy && /* @__PURE__ */ i(ht, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
5611
5612
  ] }) }),
5612
- e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: ca[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5613
+ e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: da[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5613
5614
  e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
5614
5615
  ] });
5615
5616
  }
5616
- function xu({ idle: t, message: e, onRetry: n, page: r }) {
5617
+ function Su({ idle: t, message: e, onRetry: n, page: r }) {
5617
5618
  return /* @__PURE__ */ M($n, { idle: t, poster: null, src: null, title: "VocalStack", page: r, onAct: n, children: [
5618
5619
  /* @__PURE__ */ M("div", { className: "vsp-idle__err", role: "alert", children: [
5619
5620
  /* @__PURE__ */ i(oe, { d: X.warn, size: 16, sw: 1.8 }),
@@ -5625,7 +5626,7 @@ function xu({ idle: t, message: e, onRetry: n, page: r }) {
5625
5626
  ] })
5626
5627
  ] });
5627
5628
  }
5628
- function Su(t, e, n) {
5629
+ function Du(t, e, n) {
5629
5630
  const [r, s] = L(t && e ? void 0 : null);
5630
5631
  return D(() => {
5631
5632
  if (!t) {
@@ -5638,7 +5639,7 @@ function Su(t, e, n) {
5638
5639
  }
5639
5640
  let a = !0;
5640
5641
  s(void 0);
5641
- const o = new ki({ baseUrl: (n ?? Bi).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5642
+ const o = new zi({ baseUrl: (n ?? Hi).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5642
5643
  if (!l) {
5643
5644
  s(null);
5644
5645
  return;
@@ -5652,24 +5653,24 @@ function Su(t, e, n) {
5652
5653
  };
5653
5654
  }, [t, e, n]), r;
5654
5655
  }
5655
- const Du = 100, wi = (t) => t == null ? null : t ? "on" : "off";
5656
- function Au(t) {
5656
+ const Au = 100, Li = (t) => t == null ? null : t ? "on" : "off";
5657
+ function Eu(t) {
5657
5658
  const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, r = (a) => a === "on" || a === "off" ? a : null, s = Number(e == null ? void 0 : e.get("t"));
5658
5659
  return {
5659
5660
  lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
5660
- labels: r(e == null ? void 0 : e.get("labels")) ?? wi(n.speakerLabels),
5661
- words: r(e == null ? void 0 : e.get("words")) ?? wi(n.wordHighlight),
5661
+ labels: r(e == null ? void 0 : e.get("labels")) ?? Li(n.speakerLabels),
5662
+ words: r(e == null ? void 0 : e.get("words")) ?? Li(n.wordHighlight),
5662
5663
  cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
5663
5664
  translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
5664
5665
  clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
5665
- removeBackground: e && e.get("bg") ? Bo(e) : n.removeBackground ?? !1,
5666
+ removeBackground: e && e.get("bg") ? Vo(e) : n.removeBackground ?? !1,
5666
5667
  startAt: Number.isFinite(s) && s > 0 ? s : t.startAt ?? null
5667
5668
  };
5668
5669
  }
5669
- const Fu = Va(function(e, n) {
5670
+ const Zu = Wa(function(e, n) {
5670
5671
  var K;
5671
5672
  const r = k(null);
5672
- Ha(n, () => ({
5673
+ Fa(n, () => ({
5673
5674
  seek: (v) => {
5674
5675
  var ie;
5675
5676
  return (ie = r.current) == null ? void 0 : ie.seek(v);
@@ -5695,17 +5696,17 @@ const Fu = Va(function(e, n) {
5695
5696
  D(() => {
5696
5697
  a({ id: e.id ?? "", token: e.token });
5697
5698
  }, [e.id, e.token, e.src]);
5698
- const o = Su(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
5699
+ const o = Du(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
5699
5700
  D(() => {
5700
5701
  o != null && o.id && a({ id: o.id, token: e.token });
5701
5702
  }, [o == null ? void 0 : o.id]);
5702
- const [l, c] = L(null), [u, d] = L(() => ({ ...Nu, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, v]) => v !== void 0)) })), [g, h] = L({}), f = { prefs: u, set: (v) => {
5703
+ const [l, c] = L(null), [u, d] = L(() => ({ ...yu, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, v]) => v !== void 0)) })), [g, h] = L({}), f = { prefs: u, set: (v) => {
5703
5704
  d((ie) => ({ ...ie, ...v })), h((ie) => ({ ...ie, ...v }));
5704
5705
  }, shareUrl: (K = e.shareUrl) == null ? void 0 : K.call(e, null) }, { muted: m, ...y } = g;
5705
5706
  D(() => {
5706
5707
  c(null);
5707
5708
  }, [e.id, e.src]);
5708
- const j = e.src ?? l, N = !s.id && !!j && (l != null || o !== void 0), p = !s.id && !e.src && !l, b = Vi({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source: C, gone: S, error: B, reload: Y } = bl(b, s.id), ee = Ol(b, (C == null ? void 0 : C.recording.id) ?? null), I = ze(() => zl(b, ee), [b, ee]);
5709
+ const j = e.src ?? l, N = !s.id && !!j && (l != null || o !== void 0), p = !s.id && !e.src && !l, b = Wi({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source: C, gone: S, error: B, reload: Y } = Ol(b, s.id), ee = Cl(b, (C == null ? void 0 : C.recording.id) ?? null), I = ze(() => Il(b, ee), [b, ee]);
5709
5710
  D(() => {
5710
5711
  var v;
5711
5712
  C && ((v = e.onSource) == null || v.call(e, C));
@@ -5713,16 +5714,16 @@ const Fu = Va(function(e, n) {
5713
5714
  var v;
5714
5715
  B && ((v = e.onError) == null || v.call(e, B));
5715
5716
  }, [B]);
5716
- const F = la(e.desk), A = (e.layout ?? "embed") === "embed", T = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), _ = Ke((v) => a({ id: v.transcriptionId, token: null, listen: { transcriptionId: v.transcriptionId, recordingId: v.recordingId, token: v.token } }), []), O = ju(T, _), te = k(null);
5717
- return D(() => (mi(A ? te.current : null), () => mi(null)), [A]), /* @__PURE__ */ i(vl, { value: I, children: /* @__PURE__ */ i("div", { ref: te, className: `vsp${A ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: p ? /* @__PURE__ */ i(Cu, { idle: f, connect: O, page: !A, poster: e.poster ?? null, onPick: c }) : N ? /* @__PURE__ */ i(Ou, { idle: f, src: j, ask: !l, connect: O, page: !A, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : s.id ? B && !C ? /* @__PURE__ */ i(xu, { idle: f, message: B.message, onRetry: Y, page: !A }) : /* @__PURE__ */ i(Eu, { ...e, initial: { ...e.initial ?? {}, ...y }, startMuted: m === !0, handle: r, id: s.id, api: I, shared: C, gone: S, loadError: B, reread: Y, desk: F, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (v) => a({ id: v.transcriptionId, token: null, listen: { transcriptionId: v.transcriptionId, recordingId: v.recordingId, token: v.token } }) }, s.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5717
+ const F = ua(e.desk), A = (e.layout ?? "embed") === "embed", T = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), _ = Ke((v) => a({ id: v.transcriptionId, token: null, listen: { transcriptionId: v.transcriptionId, recordingId: v.recordingId, token: v.token } }), []), O = zu(T, _), te = k(null);
5718
+ return D(() => (yi(A ? te.current : null), () => yi(null)), [A]), /* @__PURE__ */ i(Ll, { value: I, children: /* @__PURE__ */ i("div", { ref: te, className: `vsp${A ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: p ? /* @__PURE__ */ i(xu, { idle: f, connect: O, page: !A, poster: e.poster ?? null, onPick: c }) : N ? /* @__PURE__ */ i(Cu, { idle: f, src: j, ask: !l, connect: O, page: !A, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : s.id ? B && !C ? /* @__PURE__ */ i(Su, { idle: f, message: B.message, onRetry: Y, page: !A }) : /* @__PURE__ */ i(_u, { ...e, initial: { ...e.initial ?? {}, ...y }, startMuted: m === !0, handle: r, id: s.id, api: I, shared: C, gone: S, loadError: B, reread: Y, desk: F, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (v) => a({ id: v.transcriptionId, token: null, listen: { transcriptionId: v.transcriptionId, recordingId: v.recordingId, token: v.token } }) }, s.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5718
5719
  });
5719
- function Eu(t) {
5720
- var vs, Ls, ks, js, zs, Is, bs, Os, Cs, xs, Ss, Ds, As, Es, _s, Ys, Us, Rs, Ps, $s, Qs, Bs, Vs, Hs, Ws, Fs, Zs, Gs, qs, Ks;
5721
- const { api: e, shared: n, gone: r, desk: s, dark: a } = t, o = t.id ?? "", l = ze(() => Au(t), []), u = (t.mode ?? "video") === "video", [d, g] = L(t.loadError);
5720
+ function _u(t) {
5721
+ var Ls, ks, js, zs, Is, bs, Os, Cs, xs, Ss, Ds, As, Es, _s, Ys, Us, Rs, Ps, $s, Qs, Bs, Vs, Hs, Ws, Fs, Zs, Gs, qs, Ks, Js, Xs;
5722
+ const { api: e, shared: n, gone: r, desk: s, dark: a } = t, o = t.id ?? "", l = ze(() => Eu(t), []), u = (t.mode ?? "video") === "video", [d, g] = L(t.loadError);
5722
5723
  D(() => {
5723
5724
  t.loadError && g(t.loadError);
5724
5725
  }, [t.loadError]);
5725
- const [h, f] = L("none"), [m, y] = L(!1), [j, N] = L(""), [p, b] = _c(), [C, S] = L(null), [B, Y] = L(u ? "listen" : "read"), [ee, I] = L(!1), F = k(null), A = k(/* @__PURE__ */ new Map()), [T, _] = L("main"), O = (w) => {
5726
+ const [h, f] = L("none"), [m, y] = L(!1), [j, N] = L(""), [p, b] = Yc(), [C, S] = L(null), [B, Y] = L(u ? "listen" : "read"), [ee, I] = L(!1), F = k(null), A = k(/* @__PURE__ */ new Map()), [T, _] = L("main"), O = (w) => {
5726
5727
  const me = document.querySelector(".vs-sheet--settings"), Pe = me == null ? void 0 : me.parentElement;
5727
5728
  me && Pe && T === "main" && w !== "main" && Pe.style.setProperty("--vs-sheet-top", `${Math.round(me.getBoundingClientRect().top - Pe.getBoundingClientRect().top)}px`), _(w);
5728
5729
  };
@@ -5749,20 +5750,20 @@ function Eu(t) {
5749
5750
  D(() => {
5750
5751
  if (!t.syncUrl) return;
5751
5752
  const w = new URL(window.location.href);
5752
- J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Se ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Re ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), Vo(w, Q), w.href !== window.location.href && window.history.replaceState(window.history.state, "", w);
5753
+ J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Se ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Re ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), Ho(w, Q), w.href !== window.location.href && window.history.replaceState(window.history.state, "", w);
5753
5754
  }, [J, pe, Te, Se, we, Re, Q]), D(() => {
5754
5755
  n && !n.allowTranslate && J && Z(null);
5755
5756
  }, [n, J]);
5756
- const { model: ce, error: W, clearError: ye, setLanguage: G, mergeTranslations: ke, translating: Ie, translateFailed: Fe, shownLang: Ae } = Dl(ie, {
5757
+ const { model: ce, error: W, clearError: ye, setLanguage: G, mergeTranslations: ke, translating: Ie, translateFailed: Fe, shownLang: Ae } = Al(ie, {
5757
5758
  lang: null,
5758
5759
  onFrame: (w) => {
5759
5760
  w.type === "job.progress" && S({ state: w.state, processedS: w.processedS ?? 0, totalS: w.totalS ?? null, segmentsDone: w.segmentsDone ?? 0, segmentsTotal: w.segmentsTotal ?? null, pct: w.pct ?? 0, error: w.error ?? null });
5760
5761
  }
5761
- }), he = ze(() => ul(ce).filter((w) => !w.suppressed), [ce]), _e = Al((n == null ? void 0 : n.job) ?? null), Be = ["done", "failed", "stopped"].includes(mr((_e == null ? void 0 : _e.state) ?? ((vs = n == null ? void 0 : n.job) == null ? void 0 : vs.state))), $ = Be ? _e : C ?? _e, ge = !!C && !["done", "failed", "stopped"].includes(mr(C.state)), ue = k(0);
5762
+ }), he = ze(() => dl(ce).filter((w) => !w.suppressed), [ce]), _e = El((n == null ? void 0 : n.job) ?? null), Be = ["done", "failed", "stopped"].includes(mr((_e == null ? void 0 : _e.state) ?? ((Ls = n == null ? void 0 : n.job) == null ? void 0 : Ls.state))), $ = Be ? _e : C ?? _e, ge = !!C && !["done", "failed", "stopped"].includes(mr(C.state)), ue = k(0);
5762
5763
  D(() => {
5763
5764
  !Be || !ge || Date.now() - ue.current < 1e4 || (ue.current = Date.now(), t.reread());
5764
5765
  }, [Be, ge, C == null ? void 0 : C.state, C == null ? void 0 : C.processedS, o]);
5765
- const ae = mr(($ == null ? void 0 : $.state) ?? ((Ls = n == null ? void 0 : n.job) == null ? void 0 : Ls.state) ?? (e.listen ? (v == null ? void 0 : v.state) === "finalized" ? "done" : v != null && v.state ? "transcribing" : void 0 : void 0)), fe = !!ie && (ae === "transcribing" || ae === "queued"), Ye = u && !r && (!n || (fe || ae === "cropping") && he.length === 0), U = fe ? ($ == null ? void 0 : $.pct) ?? 0 : 100, R = _l(n == null ? void 0 : n.job, $) ?? (v == null ? void 0 : v.mediaDurationS) ?? null, q = ((ks = ce.segments.values().next().value) == null ? void 0 : ks.language) ?? (v == null ? void 0 : v.spokenLanguage) ?? null, se = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", de = ((Is = (zs = (js = n == null ? void 0 : n.job) == null ? void 0 : js.source) == null ? void 0 : zs.name) == null ? void 0 : Is.trim()) || null, be = n ? ((bs = n.name) == null ? void 0 : bs.trim()) || de : null, Ne = !!((Os = n == null ? void 0 : n.job) != null && Os.hasAudio), Le = (Cs = n == null ? void 0 : n.job) == null ? void 0 : Cs.source, Oe = !Ne && !!Le && (Le.kind !== "url" || Le.bytes != null) && (ae === "transcribing" || ae === "queued" || ae === "done"), He = ie && (n != null && n.allowDownload) && Ne ? oo(e.origin, ie, e.cred) : null, $e = !!Le && (Le.kind !== "url" || Le.bytes != null), ut = _u(He && $e ? He : null), st = He && (!$e || ut === "yes") ? He : He && ut === "unknown" ? null : ie && (n != null && n.allowDownload) && (Oe || Ne && $e) ? xn(e.origin, ie, "source", e.cred) : null, pt = he[he.length - 1], Ge = pt ? ((xs = pt.words[pt.words.length - 1]) == null ? void 0 : xs.end) ?? pt.start : 0, rt = u && fe ? Math.max(Ge, ($ == null ? void 0 : $.processedS) ?? 0) : null, gt = Qc(st, (Ne || Oe) && !!(n != null && n.allowDownload), he, R, Oe ? ((Ds = (Ss = n == null ? void 0 : n.job) == null ? void 0 : Ss.crop) == null ? void 0 : Ds.startS) ?? 0 : 0, rt), it = Co((As = n == null ? void 0 : n.job) == null ? void 0 : As.source), Ve = it ? Gi(it) : null, hn = Eo(Ve), Dt = $c(he, R, ((_s = (Es = n == null ? void 0 : n.job) == null ? void 0 : Es.crop) == null ? void 0 : _s.startS) ?? 0, rt), Je = !!Ve, lt = Je ? Dt.player : gt, at = Hi(), Xt = k(null), re = Fc({ forcedVoice: t.voice ?? null, recordingId: ie, model: ce, rows: he, lenS: R, ended: !!ie && !fe, cred: e.cred, langs: at, srcLang: q, canTranslate: !!(n != null && n.allowTranslate), pickedLang: ne, setPickedLang: Z, side: s && !te ? Wc : void 0, hearOriginal: V, timed: !!Ve, stockVoices: u && !Re, stickyPicker: u, pickerBusy: Xt.current }), gn = k(null);
5766
+ const ae = mr(($ == null ? void 0 : $.state) ?? ((ks = n == null ? void 0 : n.job) == null ? void 0 : ks.state) ?? (e.listen ? (v == null ? void 0 : v.state) === "finalized" ? "done" : v != null && v.state ? "transcribing" : void 0 : void 0)), fe = !!ie && (ae === "transcribing" || ae === "queued"), Ye = u && !r && (!n || (fe || ae === "cropping") && he.length === 0), U = fe ? ($ == null ? void 0 : $.pct) ?? 0 : 100, R = Yl(n == null ? void 0 : n.job, $) ?? (v == null ? void 0 : v.mediaDurationS) ?? null, q = ((js = ce.segments.values().next().value) == null ? void 0 : js.language) ?? (v == null ? void 0 : v.spokenLanguage) ?? null, se = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", de = ((bs = (Is = (zs = n == null ? void 0 : n.job) == null ? void 0 : zs.source) == null ? void 0 : Is.name) == null ? void 0 : bs.trim()) || null, be = n ? ((Os = n.name) == null ? void 0 : Os.trim()) || de : null, Ne = !!((Cs = n == null ? void 0 : n.job) != null && Cs.hasAudio), Le = (xs = n == null ? void 0 : n.job) == null ? void 0 : xs.source, Oe = !Ne && !!Le && (Le.kind !== "url" || Le.bytes != null) && (ae === "transcribing" || ae === "queued" || ae === "done"), He = ie && (n != null && n.allowDownload) && Ne ? co(e.origin, ie, e.cred) : null, $e = !!Le && (Le.kind !== "url" || Le.bytes != null), ut = Yu(He && $e ? He : null), it = He && (!$e || ut === "yes") ? He : He && ut === "unknown" ? null : ie && (n != null && n.allowDownload) && (Oe || Ne && $e) ? xn(e.origin, ie, "source", e.cred) : null, pt = he[he.length - 1], Ge = pt ? ((Ss = pt.words[pt.words.length - 1]) == null ? void 0 : Ss.end) ?? pt.start : 0, rt = u && fe ? Math.max(Ge, ($ == null ? void 0 : $.processedS) ?? 0) : null, gt = Bc(it, (Ne || Oe) && !!(n != null && n.allowDownload), he, R, Oe ? ((As = (Ds = n == null ? void 0 : n.job) == null ? void 0 : Ds.crop) == null ? void 0 : As.startS) ?? 0 : 0, rt), st = xo((Es = n == null ? void 0 : n.job) == null ? void 0 : Es.source), Ve = st && ((_s = Yr(st)) == null ? void 0 : _s.id) === "youtube" ? Ki(st) : null, hn = _o(Ve), Dt = Qc(he, R, ((Us = (Ys = n == null ? void 0 : n.job) == null ? void 0 : Ys.crop) == null ? void 0 : Us.startS) ?? 0, rt), Je = !!Ve, lt = Je ? Dt.player : gt, at = Fi(), Xt = k(null), re = Zc({ forcedVoice: t.voice ?? null, recordingId: ie, model: ce, rows: he, lenS: R, ended: !!ie && !fe, cred: e.cred, langs: at, srcLang: q, canTranslate: !!(n != null && n.allowTranslate), pickedLang: ne, setPickedLang: Z, side: s && !te ? Fc : void 0, hearOriginal: V, timed: !!Ve, stockVoices: u && !Re, stickyPicker: u, pickerBusy: Xt.current }), gn = k(null);
5766
5767
  D(() => {
5767
5768
  !ie || gn.current === J || (gn.current = J, G(J));
5768
5769
  }, [J, ie]);
@@ -5777,36 +5778,36 @@ function Eu(t) {
5777
5778
  const Vn = ze(() => he.filter((w) => w.sentenceId != null).map((w, me, Pe) => {
5778
5779
  var We;
5779
5780
  return { sid: w.sentenceId, start: w.start, end: ((We = Pe[me + 1]) == null ? void 0 : We.start) ?? Bt(w, w.start, w.start + 4) };
5780
- }), [he]), At = rl({ on: Je && re.on, lines: Vn, clips: re.clips, t: z.t, playing: z.playing, muted: z.muted }), Et = !!J && (Ie || re.relang || re.on && At.missing != null);
5781
+ }), [he]), At = sl({ on: Je && re.on, lines: Vn, clips: re.clips, t: z.t, playing: z.playing, muted: z.muted }), Et = !!J && (Ie || re.relang || re.on && At.missing != null);
5781
5782
  Xt.current = Et ? J : null, D(() => {
5782
5783
  Je && re.on && At.sid != null && re.setNear(At.sid);
5783
- }, [At.sid, Je, re.on]), Pc([lt, re.player], re.sampling);
5784
+ }, [At.sid, Je, re.on]), $c([lt, re.player], re.sampling);
5784
5785
  const _t = k(null);
5785
5786
  D(() => {
5786
5787
  fe && !z.playing && _t.current && (_t.current.scrollTop = _t.current.scrollHeight);
5787
5788
  }, [fe, he.length]);
5788
- const Ht = qc(_t, he, m, j, y), Mn = /* @__PURE__ */ i(Gc, { open: m, q: j, onQ: N, onClose: () => y(!1), hits: Ht, desk: s, inline: s }), qe = Yo({ name: n == null ? void 0 : n.name, sourceName: (Us = (Ys = n == null ? void 0 : n.job) == null ? void 0 : Ys.source) == null ? void 0 : Us.name, ytTitle: hn, url: ((Ps = (Rs = n == null ? void 0 : n.job) == null ? void 0 : Rs.source) == null ? void 0 : Ps.kind) === "url" ? n.job.source.url : t.src ?? null, id: o }), ot = !!(n != null && n.allowDownload), en = !!(n != null && n.allowExport), mt = re.readLang, Mt = mt ? (($s = at == null ? void 0 : at.languages.find((w) => w.code === mt)) == null ? void 0 : $s.name) ?? mt.toUpperCase() : null, Wt = async () => {
5789
+ const Ht = Kc(_t, he, m, j, y), Mn = /* @__PURE__ */ i(qc, { open: m, q: j, onQ: N, onClose: () => y(!1), hits: Ht, desk: s, inline: s }), qe = Uo({ name: n == null ? void 0 : n.name, sourceName: (Ps = (Rs = n == null ? void 0 : n.job) == null ? void 0 : Rs.source) == null ? void 0 : Ps.name, ytTitle: hn, url: ((Qs = ($s = n == null ? void 0 : n.job) == null ? void 0 : $s.source) == null ? void 0 : Qs.kind) === "url" ? n.job.source.url : t.src ?? null, id: o }), ot = !!(n != null && n.allowDownload), en = !!(n != null && n.allowExport), mt = re.readLang, Mt = mt ? ((Bs = at == null ? void 0 : at.languages.find((w) => w.code === mt)) == null ? void 0 : Bs.name) ?? mt.toUpperCase() : null, Wt = async () => {
5789
5790
  if (ie)
5790
5791
  try {
5791
5792
  if (mt && re.canSpeak) {
5792
- b(`Preparing ${qe} in ${Mt}${re.readVoiceName ? `, read by ${re.readVoiceName}` : ""} — the download starts when it is ready.`), await Rl(e, { recordingId: ie, lang: mt, voiceKey: re.readVoiceKey, cred: e.cred, request: re.requestTrack }), b(`Downloading ${qe} in ${Mt}.`);
5793
+ b(`Preparing ${qe} in ${Mt}${re.readVoiceName ? `, read by ${re.readVoiceName}` : ""} — the download starts when it is ready.`), await Pl(e, { recordingId: ie, lang: mt, voiceKey: re.readVoiceKey, cred: e.cred, request: re.requestTrack }), b(`Downloading ${qe} in ${Mt}.`);
5793
5794
  return;
5794
5795
  }
5795
5796
  if (Ne) {
5796
- b(`Preparing ${qe} as MP3 — the download starts when it is ready.`), await Yl(xn(e.origin, ie, "delivery", e.cred)), b(`Downloading ${qe}.`);
5797
+ b(`Preparing ${qe} as MP3 — the download starts when it is ready.`), await Ul(xn(e.origin, ie, "delivery", e.cred)), b(`Downloading ${qe}.`);
5797
5798
  return;
5798
5799
  }
5799
- $r(xn(e.origin, ie, "source", e.cred)), b(`Downloading ${qe} — the full audio, since the transcript is still being written.`);
5800
+ Qr(xn(e.origin, ie, "source", e.cred)), b(`Downloading ${qe} — the full audio, since the transcript is still being written.`);
5800
5801
  } catch (w) {
5801
5802
  throw g(zt(w)), w;
5802
5803
  }
5803
5804
  }, dt = (w) => {
5804
5805
  if (!ie) return;
5805
5806
  const me = Or.find((We) => We.key === w).name, Pe = Mt ? ` in ${Mt}` : "";
5806
- return Ul(e, ie, w, { lang: mt }).then(() => b(fe ? `${me} exported${Pe} for the first ${he.length} segments — the rest is still transcribing.` : `${me} exported${Pe}.`)).catch((We) => {
5807
+ return Rl(e, ie, w, { lang: mt }).then(() => b(fe ? `${me} exported${Pe} for the first ${he.length} segments — the rest is still transcribing.` : `${me} exported${Pe}.`)).catch((We) => {
5807
5808
  throw g(zt(We)), We;
5808
5809
  });
5809
- }, tn = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ct = fe ? "var(--brand)" : "var(--ink-28)", nn = El($, he.length), It = z.has && (!re.relang || !!Ve), Ze = k(z);
5810
+ }, tn = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ct = fe ? "var(--brand)" : "var(--ink-28)", nn = _l($, he.length), It = z.has && (!re.relang || !!Ve), Ze = k(z);
5810
5811
  Ze.current = z;
5811
5812
  const Yt = `${J ?? ""}|${re.on ? "voice" : "source"}`, wt = k({ key: Yt, idx: 0, t: 0, playing: !1, until: 0 });
5812
5813
  D(() => {
@@ -5824,7 +5825,7 @@ function Eu(t) {
5824
5825
  }
5825
5826
  });
5826
5827
  const Ut = k(!1), et = k(!1);
5827
- u && (bi.video = !0);
5828
+ u && (Ci.video = !0);
5828
5829
  const [fn, bt] = L(!1), [Hn, Wn] = L(!1);
5829
5830
  D(() => {
5830
5831
  if (!u || Ut.current || !It || !te || Ye || t.autoplay === !1) return;
@@ -5858,7 +5859,7 @@ function Eu(t) {
5858
5859
  return;
5859
5860
  }
5860
5861
  et.current = !0, Ze.current.toggle();
5861
- }, mn = (w) => /* @__PURE__ */ i(Ec, { player: z, size: w }), rn = !!ie && !fe, [P, xe] = L(!1);
5862
+ }, mn = (w) => /* @__PURE__ */ i(_c, { player: z, size: w }), rn = !!ie && !fe, [P, xe] = L(!1);
5862
5863
  D(() => {
5863
5864
  if (!Ie) {
5864
5865
  xe(!1);
@@ -5867,16 +5868,16 @@ function Eu(t) {
5867
5868
  const w = setTimeout(() => xe(!0), 180);
5868
5869
  return () => clearTimeout(w);
5869
5870
  }, [Ie]);
5870
- const Qe = P ? Ae : J, Ct = Kl(ie, J, he, ke), Pt = hc(gc(v), ie, re.readLang), da = ot || en, ha = (((Bs = (Qs = n == null ? void 0 : n.job) == null ? void 0 : Qs.crop) == null ? void 0 : Bs.startS) ?? 0) + Gt(z, he), vt = B === "listen", $t = vt && (!!Ve || u), ga = (w) => {
5871
+ const Qe = P ? Ae : J, Ct = Jl(ie, J, he, ke), Pt = gc(Mc(v), ie, re.readLang), ga = ot || en, Ma = (((Hs = (Vs = n == null ? void 0 : n.job) == null ? void 0 : Vs.crop) == null ? void 0 : Hs.startS) ?? 0) + Gt(z, he), vt = B === "listen", $t = vt && (!!Ve || u), fa = (w) => {
5871
5872
  lt.pause(), re.player.pause(), Y(w), w === "read" && te && (on(!1), K(!1));
5872
5873
  };
5873
5874
  D(() => {
5874
5875
  vt || (lt.playing && lt.pause(), re.player.playing && re.player.pause());
5875
5876
  }, [vt, lt.playing, re.player.playing]);
5876
- const Ue = re.barChip, Ft = Fi(Ue.label), Hr = /* @__PURE__ */ i(wr, { value: B, onChange: ga, bordered: !1, options: cu(Ft, !!Ve) }), Zt = [...rn ? [{ key: "summary", label: "Summary" }] : [], ...da ? [{ key: "export", label: "Export" }] : []], Wr = (w) => /* @__PURE__ */ M(Ce, { children: [
5877
- w === "summary" && rn && /* @__PURE__ */ i(Mc, { s: Pt }),
5878
- w === "export" && /* @__PURE__ */ i(dc, { audio: ot ? { name: qe, meta: mt && re.canSpeak || Ne ? `MP3${R ? ` · ${kt(R)}` : ""}` : "ORIGINAL AUDIO", onClick: Wt } : null, formats: en, onExport: dt })
5879
- ] }), Ma = (w) => /* @__PURE__ */ i(Fl, { index: z.idx, total: Math.max(1, he.length), frac: z.dur > 0 ? Math.min(1, z.t / z.dur) : 0, glideMs: z.wordSync ? 0 : 220, atLabel: kt(z.t), durLabel: kt(z.dur), stepLabel: w ? `${z.idx + 1} / ${he.length}` : "", onSeek: re.relang ? Vc : z.seekRow, onSeekFrac: re.relang ? void 0 : z.seekFrac, onScrubStart: z.hold, onScrubEnd: z.release }), Fr = {
5877
+ const Ue = re.barChip, Ft = Gi(Ue.label), Wr = /* @__PURE__ */ i(wr, { value: B, onChange: fa, bordered: !1, options: uu(Ft, !!Ve) }), Zt = [...rn ? [{ key: "summary", label: "Summary" }] : [], ...ga ? [{ key: "export", label: "Export" }] : []], Fr = (w) => /* @__PURE__ */ M(Ce, { children: [
5878
+ w === "summary" && rn && /* @__PURE__ */ i(fc, { s: Pt }),
5879
+ w === "export" && /* @__PURE__ */ i(hc, { audio: ot ? { name: qe, meta: mt && re.canSpeak || Ne ? `MP3${R ? ` · ${kt(R)}` : ""}` : "ORIGINAL AUDIO", onClick: Wt } : null, formats: en, onExport: dt })
5880
+ ] }), pa = (w) => /* @__PURE__ */ i(Zl, { index: z.idx, total: Math.max(1, he.length), frac: z.dur > 0 ? Math.min(1, z.t / z.dur) : 0, glideMs: z.wordSync ? 0 : 220, atLabel: kt(z.t), durLabel: kt(z.dur), stepLabel: w ? `${z.idx + 1} / ${he.length}` : "", onSeek: re.relang ? Hc : z.seekRow, onSeekFrac: re.relang ? void 0 : z.seekFrac, onScrubStart: z.hold, onScrubEnd: z.release }), Zr = {
5880
5881
  live: !1,
5881
5882
  atEdge: !1,
5882
5883
  edgeFrac: null,
@@ -5889,24 +5890,24 @@ function Eu(t) {
5889
5890
  var me;
5890
5891
  re.relang || (me = z.seekFrac) == null || me.call(z, w);
5891
5892
  }
5892
- }, [fa, pa] = ea(re.on && !!z.preparing && z.playing, 1500), Zn = re.on && ((Vs = z.error) == null ? void 0 : Vs.code) === "voice_not_started", Gn = re.canSpeak && !re.error && !Zn, Nn = J ? ((Hs = at == null ? void 0 : at.languages.find((w) => w.code === J)) == null ? void 0 : Hs.name) ?? Ue.label : "", tt = te ? Oc({ lang: J, langName: Nn, translating: Ie && !!J, translateFailed: Fe, voiceFailed: Zn, relang: re.relang, starting: re.on ? z.starting : null, slowLine: fa, lineSince: pa }) : null, qn = !!Ve && !!tt && (tt.kind === "translating" || tt.kind === "voice" && re.relang), Zr = !qn || !tt ? null : tt.kind === "translating" ? `Translating into ${Nn || "the new language"}…` : `Preparing the ${Nn || "translated"} voice…`, xt = !qn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Gr = _r({ ...re.langList, keepOpen: !0, open: T === "lang", onClose: () => O("main") }), qr = Qo(Q, re.on), ma = u && qr.bed && ot && ie && (!fe || st) ? Xs(e.origin, ie, e.cred) : null, Kr = Ko(ma, { t: Gt(z, he), playing: z.playing && !xt && !(z.timed && z.preparing), muted: z.muted }), Na = u && qr.speech && ot && ie && (!fe || st) ? Xs(e.origin, ie, e.cred, "speech") : null, Kn = Ri(Na, { t: Gt(z, he), playing: !re.on && z.playing, muted: z.muted }), Jn = !re.on && Kn.on;
5893
+ }, [ma, Na] = na(re.on && !!z.preparing && z.playing, 1500), Zn = re.on && ((Ws = z.error) == null ? void 0 : Ws.code) === "voice_not_started", Gn = re.canSpeak && !re.error && !Zn, Nn = J ? ((Fs = at == null ? void 0 : at.languages.find((w) => w.code === J)) == null ? void 0 : Fs.name) ?? Ue.label : "", tt = te ? Cc({ lang: J, langName: Nn, translating: Ie && !!J, translateFailed: Fe, voiceFailed: Zn, relang: re.relang, starting: re.on ? z.starting : null, slowLine: ma, lineSince: Na }) : null, qn = !!Ve && !!tt && (tt.kind === "translating" || tt.kind === "voice" && re.relang), Gr = !qn || !tt ? null : tt.kind === "translating" ? `Translating into ${Nn || "the new language"}…` : `Preparing the ${Nn || "translated"} voice…`, xt = !qn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), qr = _r({ ...re.langList, keepOpen: !0, open: T === "lang", onClose: () => O("main") }), Kr = Bo(Q, re.on), ya = u && Kr.bed && ot && ie && (!fe || it) ? ti(e.origin, ie, e.cred) : null, Jr = Jo(ya, { t: Gt(z, he), playing: z.playing && !xt && !(z.timed && z.preparing), muted: z.muted }), Ta = u && Kr.speech && ot && ie && (!fe || it) ? ti(e.origin, ie, e.cred, "speech") : null, Kn = $i(Ta, { t: Gt(z, he), playing: !re.on && z.playing, muted: z.muted }), Jn = !re.on && Kn.on;
5893
5894
  D(() => {
5894
5895
  var w;
5895
5896
  Dt.setVideoSound(!(Je && (re.on || Jn))), (w = gt.silence) == null || w.call(gt, !Je && Jn);
5896
- }, [Je, re.on, Jn, st]);
5897
- const Xn = ot ? re.on ? Kr : Kn.state : "unavailable", er = we && Gn && !!J, ya = er ? [`Translated${re.hasClone ? Re ? ", cloned voices" : ", synthetic voices" : ""}`, !Q && ot && Kr !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : Q && Xn !== "unavailable" ? "Original speech, background removed" : "Original sound", Ta = () => {
5897
+ }, [Je, re.on, Jn, it]);
5898
+ const Xn = ot ? re.on ? Jr : Kn.state : "unavailable", er = we && Gn && !!J, wa = er ? [`Translated${re.hasClone ? Re ? ", cloned voices" : ", synthetic voices" : ""}`, !Q && ot && Jr !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : Q && Xn !== "unavailable" ? "Original speech, background removed" : "Original sound", va = () => {
5898
5899
  if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
5899
5900
  G(J);
5900
5901
  return;
5901
5902
  }
5902
5903
  et.current = !0, z.toggle();
5903
- }, wa = () => {
5904
+ }, La = () => {
5904
5905
  const w = z.idx;
5905
5906
  z.pause(), Z(null), et.current = !0, lt.playRow(w);
5906
- }, Jr = { prevOn: z.idx > 0, nextOn: z.idx < he.length - 1, onPrev: z.prev, onNext: z.next, playing: z.playing, playable: It, playTitle: re.playTitle ?? (z.playing ? "Pause" : "Play"), onPlay: () => {
5907
+ }, Xr = { prevOn: z.idx > 0, nextOn: z.idx < he.length - 1, onPrev: z.prev, onNext: z.next, playing: z.playing, playable: It, playTitle: re.playTitle ?? (z.playing ? "Pause" : "Play"), onPlay: () => {
5907
5908
  et.current = !0, z.toggle();
5908
5909
  }, busy: re.relang && !Ve || xt };
5909
- al(It && vt ? { playing: z.playing, toggle: () => {
5910
+ ol(It && vt ? { playing: z.playing, toggle: () => {
5910
5911
  et.current = !0, z.toggle();
5911
5912
  }, next: z.next, prev: z.prev } : null, be);
5912
5913
  const tr = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, nr = (w, me) => !Ue.can || !x.language ? null : u ? /* @__PURE__ */ M("button", { type: "button", className: "gfull__btn", title: Et ? `${Ue.label ?? Ue.code}: still being prepared` : Ue.label ?? Ue.code, "aria-label": `Language: ${Ue.label ?? Ue.code}`, "aria-busy": Et || void 0, onClick: () => {
@@ -5914,44 +5915,44 @@ function Eu(t) {
5914
5915
  }, style: { position: "relative" }, children: [
5915
5916
  /* @__PURE__ */ i("span", { style: { fontSize: me === "sm" ? 17 : 21, lineHeight: 1 }, children: Ue.flag }),
5916
5917
  Et && /* @__PURE__ */ i("span", { style: { position: "absolute", right: 2, bottom: 2, display: "flex", borderRadius: 999, background: "rgba(5,6,21,.7)", padding: 1 }, children: /* @__PURE__ */ i(ht, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
5917
- ] }) : /* @__PURE__ */ i(Un, { flag: Ue.flag, code: Ue.code, label: Ue.label, bordered: !1, size: me, onClick: Ue.onClick, style: w }), Xr = { on: !1, title: "Voices", onClick: () => {
5918
- }, busy: re.voiceWaiting || xt }, [va, La] = L(!1);
5918
+ ] }) : /* @__PURE__ */ i(Un, { flag: Ue.flag, code: Ue.code, label: Ue.label, bordered: !1, size: me, onClick: Ue.onClick, style: w }), es = { on: !1, title: "Voices", onClick: () => {
5919
+ }, busy: re.voiceWaiting || xt }, [ka, ja] = L(!1);
5919
5920
  D(() => {
5920
- z.t > 0.3 && La(!0);
5921
+ z.t > 0.3 && ja(!0);
5921
5922
  }, [z.t]);
5922
- const ka = !Ve && u && ie && (n != null && n.allowDownload) && !fe && ((Ws = n == null ? void 0 : n.job) == null ? void 0 : Ws.hasVideo) !== !1 ? /* @__PURE__ */ i(ti, { src: xn(e.origin, ie, "video", e.cred), t: Gt(z, he), playing: z.playing && !xt, seekN: z.seekN, onToggle: z.has ? Rt : void 0 }, ie) : null, yn = !Ve && u && it && bo(it) ? it : null, Tn = yn ? Yi(yn) : null, es = ze(() => Tn ? Ao(Tn) : void 0, [Tn]), ja = es ? /* @__PURE__ */ i(ti, { setup: es, seekOver: 1, t: Gt(z, he) + (((Zs = (Fs = n == null ? void 0 : n.job) == null ? void 0 : Fs.crop) == null ? void 0 : Zs.startS) ?? 0), playing: z.playing && !xt, seekN: z.seekN, onToggle: z.has ? Rt : void 0 }, Tn) : yn ? /* @__PURE__ */ i(xo, { url: yn, t: Gt(z, he) + (((qs = (Gs = n == null ? void 0 : n.job) == null ? void 0 : Gs.crop) == null ? void 0 : qs.startS) ?? 0), playing: z.playing && !xt, seekN: z.seekN, title: qe }) : null, za = z.has ? /* @__PURE__ */ M("div", { className: "txyt vsp-follow", children: [
5923
+ const za = !Ve && u && ie && (n != null && n.allowDownload) && !fe && ((Zs = n == null ? void 0 : n.job) == null ? void 0 : Zs.hasVideo) !== !1 ? /* @__PURE__ */ i(ri, { src: xn(e.origin, ie, "video", e.cred), t: Gt(z, he), playing: z.playing && !xt, seekN: z.seekN, onToggle: z.has ? Rt : void 0 }, ie) : null, yn = !Ve && u && st && Oo(st) ? st : null, Tn = yn ? Ri(yn) : null, ts = ze(() => Tn ? Eo(Tn) : void 0, [Tn]), Ia = ts ? /* @__PURE__ */ i(ri, { setup: ts, seekOver: 1, t: Gt(z, he) + (((qs = (Gs = n == null ? void 0 : n.job) == null ? void 0 : Gs.crop) == null ? void 0 : qs.startS) ?? 0), playing: z.playing && !xt, seekN: z.seekN, onToggle: z.has ? Rt : void 0 }, Tn) : yn ? /* @__PURE__ */ i(So, { url: yn, t: Gt(z, he) + (((Js = (Ks = n == null ? void 0 : n.job) == null ? void 0 : Ks.crop) == null ? void 0 : Js.startS) ?? 0), playing: z.playing && !xt, seekN: z.seekN, title: qe }) : null, ba = z.has ? /* @__PURE__ */ M("div", { className: "txyt vsp-follow", children: [
5923
5924
  /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: Rt, style: { cursor: "pointer" } }),
5924
5925
  /* @__PURE__ */ i("div", { className: `txyt__paused${z.playing ? "" : " txyt__paused--on"}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(dn, { size: 44 }) }) })
5925
- ] }) : null, ts = Ve ? /* @__PURE__ */ M(Ce, { children: [
5926
- /* @__PURE__ */ i(Sc, { ytId: Ve, title: qe, t: ha, playing: z.playing && !xt, waiting: re.on && !!z.timed && !!z.preparing, seekN: z.seekN, onTime: (w) => {
5926
+ ] }) : null, ns = Ve ? /* @__PURE__ */ M(Ce, { children: [
5927
+ /* @__PURE__ */ i(Dc, { ytId: Ve, title: qe, t: Ma, playing: z.playing && !xt, waiting: re.on && !!z.timed && !!z.preparing, seekN: z.seekN, onTime: (w) => {
5927
5928
  var me, Pe, We;
5928
5929
  return (We = z.videoAt) == null ? void 0 : We.call(z, w - (((Pe = (me = n == null ? void 0 : n.job) == null ? void 0 : me.crop) == null ? void 0 : Pe.startS) ?? 0));
5929
5930
  }, onToggle: z.has ? Rt : void 0, onAd: Wn, lead: Je ? Dt.lead : void 0 }),
5930
- /* @__PURE__ */ M("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: va ? 0 : 1 }, children: [
5931
+ /* @__PURE__ */ M("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: ka ? 0 : 1 }, children: [
5931
5932
  /* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Ve}/hqdefault.jpg)` } }),
5932
5933
  /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(dn, { size: 44 }) })
5933
5934
  ] })
5934
5935
  ] }) : u ? /* @__PURE__ */ M(Ce, { children: [
5935
5936
  /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }),
5936
- za,
5937
- ja,
5938
- ka
5939
- ] }) : null, ns = $t && Ve && !te ? /* @__PURE__ */ i(fc, { ytId: Ve, title: qe, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: ts, children: /* @__PURE__ */ i(iu, { pos: Fr, transport: Jr, chip: nr({ ...tr, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Xr, onFull: () => {
5937
+ ba,
5938
+ Ia,
5939
+ za
5940
+ ] }) : null, rs = $t && Ve && !te ? /* @__PURE__ */ i(pc, { ytId: Ve, title: qe, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: ns, children: /* @__PURE__ */ i(au, { pos: Zr, transport: Xr, chip: nr({ ...tr, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: es, onFull: () => {
5940
5941
  on(!0), K(!0);
5941
- }, copied: null }) }) : null, Xe = z.wordSync ? Ql(he, z.idx, z.t) ? he[z.idx] : void 0 : he[z.idx];
5942
+ }, copied: null }) }) : null, Xe = z.wordSync ? Bl(he, z.idx, z.t) ? he[z.idx] : void 0 : he[z.idx];
5942
5943
  for (const w of he) for (const [me, Pe] of Object.entries(w.translations)) Pe && A.current.set(`${w.sentenceId ?? w.start}|${me}`, Pe);
5943
- const rs = (w, me) => w.translations[me] || A.current.get(`${w.sentenceId ?? w.start}|${me}`) || null, rr = (w, me) => !w || !me || w.language === me || !!rs(w, me), Lt = rr(Xe, J) ? J : rr(Xe, F.current) ? F.current : J;
5944
+ const ss = (w, me) => w.translations[me] || A.current.get(`${w.sentenceId ?? w.start}|${me}`) || null, rr = (w, me) => !w || !me || w.language === me || !!ss(w, me), Lt = rr(Xe, J) ? J : rr(Xe, F.current) ? F.current : J;
5944
5945
  Xe && rr(Xe, Lt) && (F.current = Lt);
5945
- const ss = Xe && Lt && Xe.language !== Lt ? rs(Xe, Lt) : null, Ia = Xe && ss && Lt && !Xe.translations[Lt] ? Object.assign([...he], { [z.idx]: { ...Xe, translations: { ...Xe.translations, [Lt]: ss } } }) : he, wn = Xe ? ta(Ia, z.idx, Lt) : [], vn = Te ? Te === "on" : !u || re.on || !Qe || Qe === q, is = vn ? fi(z, z.idx, wn) : null, as = wn.map((w, me) => ({ t: w.text, sp: me < wn.length - 1 ? " " : "", dim: is != null && me > is })), Ln = pe ? pe === "on" : u ? !1 : Tl(ce, he, v == null ? void 0 : v.settings), os = { lang: J, subtitles: Se, speakerLabels: Ln, wordHighlight: vn, translateAudio: we, voices: Re ? "cloned" : "synthetic", removeBackground: Q }, ba = JSON.stringify(os), kn = k(t.onSettingsChange);
5946
+ const is = Xe && Lt && Xe.language !== Lt ? ss(Xe, Lt) : null, Oa = Xe && is && Lt && !Xe.translations[Lt] ? Object.assign([...he], { [z.idx]: { ...Xe, translations: { ...Xe.translations, [Lt]: is } } }) : he, wn = Xe ? ra(Oa, z.idx, Lt) : [], vn = Te ? Te === "on" : !u || re.on || !Qe || Qe === q, as = vn ? mi(z, z.idx, wn) : null, os = wn.map((w, me) => ({ t: w.text, sp: me < wn.length - 1 ? " " : "", dim: as != null && me > as })), Ln = pe ? pe === "on" : u ? !1 : wl(ce, he, v == null ? void 0 : v.settings), ls = { lang: J, subtitles: Se, speakerLabels: Ln, wordHighlight: vn, translateAudio: we, voices: Re ? "cloned" : "synthetic", removeBackground: Q }, Ca = JSON.stringify(ls), kn = k(t.onSettingsChange);
5946
5947
  kn.current = t.onSettingsChange, D(() => {
5947
5948
  var w;
5948
- (w = kn.current) == null || w.call(kn, os);
5949
- }, [ba]);
5950
- const jn = Xe && Xe.speaker >= 0 && Ln ? Rr(ce, Xe.speaker) : null, [Oa, ls] = L(!1), [sr, cs] = L(null), [Ca, us] = L(null), ir = k(void 0);
5949
+ (w = kn.current) == null || w.call(kn, ls);
5950
+ }, [Ca]);
5951
+ const jn = Xe && Xe.speaker >= 0 && Ln ? Pr(ce, Xe.speaker) : null, [xa, cs] = L(!1), [sr, us] = L(null), [Sa, ds] = L(null), ir = k(void 0);
5951
5952
  D(() => () => window.clearTimeout(ir.current), []);
5952
5953
  const ar = k(void 0);
5953
5954
  D(() => () => window.clearTimeout(ar.current), []);
5954
- const ds = (w) => {
5955
+ const hs = (w) => {
5955
5956
  if (t.shareUrl) return t.shareUrl(w);
5956
5957
  const me = new URL(window.location.href);
5957
5958
  return w != null && w > 0 ? me.searchParams.set("t", String(w)) : me.searchParams.delete("t"), me.href;
@@ -5963,19 +5964,19 @@ function Eu(t) {
5963
5964
  let me = 0;
5964
5965
  for (let Pe = 0; Pe < he.length; Pe++) he[Pe].start <= w && (me = Pe);
5965
5966
  z.seekRow(me);
5966
- }, hs = k(!1);
5967
+ }, gs = k(!1);
5967
5968
  D(() => {
5968
5969
  const w = zn.current;
5969
- w == null || hs.current || !z.has || he.length === 0 || (hs.current = !0, or(w));
5970
+ w == null || gs.current || !z.has || he.length === 0 || (gs.current = !0, or(w));
5970
5971
  }, [z.has, he.length]), D(() => {
5971
5972
  const w = zn.current;
5972
5973
  w == null || !z.playing || (zn.current = null, Math.abs(z.t - w) > 2 && or(w));
5973
5974
  }, [z.playing]);
5974
- const xa = (w) => {
5975
+ const Da = (w) => {
5975
5976
  et.current = !0, zn.current = null, or(Math.max(0, w));
5976
5977
  };
5977
5978
  t.handle.current = {
5978
- seek: (w) => xa(w),
5979
+ seek: (w) => Da(w),
5979
5980
  play: () => {
5980
5981
  et.current = !0, vt && !Ze.current.playing && Ze.current.toggle();
5981
5982
  },
@@ -5991,30 +5992,30 @@ function Eu(t) {
5991
5992
  }, D(() => () => {
5992
5993
  t.handle.current = null;
5993
5994
  }, []);
5994
- const gs = k(t.onPlayback);
5995
- gs.current = t.onPlayback;
5996
- const Ms = k(J);
5997
- Ms.current = J, D(() => {
5995
+ const Ms = k(t.onPlayback);
5996
+ Ms.current = t.onPlayback;
5997
+ const fs = k(J);
5998
+ fs.current = J, D(() => {
5998
5999
  let w = "";
5999
6000
  const me = () => {
6000
- const We = gs.current;
6001
+ const We = Ms.current;
6001
6002
  if (!We) return;
6002
- const Nt = Ze.current, ft = { t: Nt.t, dur: Nt.dur, playing: Nt.playing, idx: Nt.idx, seekN: Nt.seekN, lang: Ms.current, muted: Nt.muted }, Cn = `${ft.t.toFixed(2)}|${ft.dur}|${ft.playing}|${ft.idx}|${ft.seekN}|${ft.lang}|${ft.muted}`;
6003
+ const Nt = Ze.current, ft = { t: Nt.t, dur: Nt.dur, playing: Nt.playing, idx: Nt.idx, seekN: Nt.seekN, lang: fs.current, muted: Nt.muted }, Cn = `${ft.t.toFixed(2)}|${ft.dur}|${ft.playing}|${ft.idx}|${ft.seekN}|${ft.lang}|${ft.muted}`;
6003
6004
  Cn !== w && (w = Cn, We(ft));
6004
6005
  };
6005
6006
  me();
6006
- const Pe = window.setInterval(me, Du);
6007
+ const Pe = window.setInterval(me, Au);
6007
6008
  return () => window.clearInterval(Pe);
6008
6009
  }, []);
6009
- const Sa = () => t.onShare ? t.onShare() : Qr(ds(null), qe, () => {
6010
- window.clearTimeout(ar.current), ls(!0), ar.current = window.setTimeout(() => ls(!1), 2200);
6011
- }), fs = (w, me, Pe) => {
6012
- const We = Or.find((Cn) => Cn.key === w), Nt = sr === w, ft = Ca === w;
6010
+ const Aa = () => t.onShare ? t.onShare() : Br(hs(null), qe, () => {
6011
+ window.clearTimeout(ar.current), cs(!0), ar.current = window.setTimeout(() => cs(!1), 2200);
6012
+ }), ps = (w, me, Pe) => {
6013
+ const We = Or.find((Cn) => Cn.key === w), Nt = sr === w, ft = Sa === w;
6013
6014
  return /* @__PURE__ */ M("div", { className: "srow srow--tap", role: "button", "aria-busy": Nt || void 0, style: sr && !Nt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
6014
- sr || (cs(w), Promise.resolve().then(() => dt(w)).then(() => {
6015
- us(w), window.clearTimeout(ir.current), ir.current = window.setTimeout(() => us(null), 1600);
6015
+ sr || (us(w), Promise.resolve().then(() => dt(w)).then(() => {
6016
+ ds(w), window.clearTimeout(ir.current), ir.current = window.setTimeout(() => ds(null), 1600);
6016
6017
  }).catch(() => {
6017
- }).finally(() => cs(null)));
6018
+ }).finally(() => us(null)));
6018
6019
  }, children: [
6019
6020
  Nt ? /* @__PURE__ */ i(ht, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: We.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
6020
6021
  /* @__PURE__ */ M("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -6023,15 +6024,15 @@ function Eu(t) {
6023
6024
  ] }),
6024
6025
  /* @__PURE__ */ i(oe, { d: ft ? X.check : X.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ft ? "var(--brand)" : "var(--ink-62)" } })
6025
6026
  ] });
6026
- }, Da = /* @__PURE__ */ M("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
6027
+ }, Ea = /* @__PURE__ */ M("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
6027
6028
  " ",
6028
6029
  /* @__PURE__ */ M("button", { type: "button", onClick: () => O("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
6029
6030
  /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 18, sw: 1.8 }),
6030
6031
  "Back"
6031
6032
  ] })
6032
- ] }), In = /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), Aa = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[T], bn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, lr = u ? /* @__PURE__ */ i(Jt, { open: ee, onClose: () => I(!1), title: Aa, titleNode: T === "main" ? void 0 : Da, doneLabel: Ft.done, kind: T === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(vr, { children: T === "lang" ? /* @__PURE__ */ M("div", { style: { display: "flex", flexDirection: "column" }, children: [
6033
- /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Gr.search }),
6034
- Gr.list
6033
+ ] }), In = /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), _a = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[T], bn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, lr = u ? /* @__PURE__ */ i(Jt, { open: ee, onClose: () => I(!1), title: _a, titleNode: T === "main" ? void 0 : Ea, doneLabel: Ft.done, kind: T === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(vr, { children: T === "lang" ? /* @__PURE__ */ M("div", { style: { display: "flex", flexDirection: "column" }, children: [
6034
+ /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: qr.search }),
6035
+ qr.list
6035
6036
  ] }) : T === "subs" ? /* @__PURE__ */ M("div", { style: bn, children: [
6036
6037
  /* @__PURE__ */ M("div", { className: "srow", children: [
6037
6038
  /* @__PURE__ */ M("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -6072,13 +6073,13 @@ function Eu(t) {
6072
6073
  /* @__PURE__ */ M("div", { className: "srow", children: [
6073
6074
  /* @__PURE__ */ M("div", { style: { flex: 1, minWidth: 0 }, children: [
6074
6075
  /* @__PURE__ */ i("div", { className: "srow__t", children: Rn }),
6075
- /* @__PURE__ */ i("div", { className: "srow__s", children: $o(Q, Xn, "video", re.on ? 0 : Kn.untilS) })
6076
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Qo(Q, Xn, "video", re.on ? 0 : Kn.untilS) })
6076
6077
  ] }),
6077
6078
  /* @__PURE__ */ i(Tt, { checked: Q && ot, onChange: H, label: Rn, disabled: !ot || Xn === "unavailable" && !Q })
6078
6079
  ] })
6079
6080
  ] }) : T === "export" ? /* @__PURE__ */ M("div", { style: bn, children: [
6080
- fs("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
6081
- fs("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
6081
+ ps("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
6082
+ ps("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
6082
6083
  ] }) : /* @__PURE__ */ i("div", { style: bn, children: [
6083
6084
  Ue.can && x.language && /* @__PURE__ */ M("div", { className: "srow srow--tap", role: "button", onClick: () => O("lang"), children: [
6084
6085
  /* @__PURE__ */ M("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -6098,7 +6099,7 @@ function Eu(t) {
6098
6099
  x.audio && /* @__PURE__ */ M("div", { className: "srow srow--tap", role: "button", onClick: () => O("audio"), children: [
6099
6100
  /* @__PURE__ */ M("div", { style: { flex: 1, minWidth: 0 }, children: [
6100
6101
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
6101
- /* @__PURE__ */ i("div", { className: "srow__s", children: ya })
6102
+ /* @__PURE__ */ i("div", { className: "srow__s", children: wa })
6102
6103
  ] }),
6103
6104
  In
6104
6105
  ] }, "audio"),
@@ -6129,42 +6130,42 @@ function Eu(t) {
6129
6130
  ] }),
6130
6131
  t.settingsExtra
6131
6132
  ] }) }), St = te && $t && (!!Ve || u) && /* @__PURE__ */ i(
6132
- ia,
6133
+ oa,
6133
6134
  {
6134
6135
  page: (t.layout ?? "embed") === "page",
6135
- picture: ts,
6136
+ picture: ns,
6136
6137
  title: qe,
6137
6138
  desk: s,
6138
- pos: Fr,
6139
+ pos: Zr,
6139
6140
  mute: { muted: z.muted, onToggle: pn },
6140
6141
  cc: x.subtitles ? { on: Se, onToggle: () => ve((w) => !w) } : void 0,
6141
6142
  noFull: !x.fullscreen,
6142
6143
  ad: Hn,
6143
- wait: tt && !qn ? /* @__PURE__ */ i(xc, { state: tt, line: xt ? as.map((w) => w.t + w.sp).join("") : null, onRetry: Ta, onOriginal: wa }) : z.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
6144
+ wait: tt && !qn ? /* @__PURE__ */ i(Sc, { state: tt, line: xt ? os.map((w) => w.t + w.sp).join("") : null, onRetry: va, onOriginal: La }) : z.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
6144
6145
  pct: fe ? Math.round(U) : null,
6145
- sub: Se && Xe ? { who: jn ? Ur(ce, Xe.speaker) : null, color: jn ? jn.fg ?? `var(--lane-${jn.lane})` : "#fff", words: as, cursor: fi(z, z.idx, wn) } : null,
6146
+ sub: Se && Xe ? { who: jn ? Rr(ce, Xe.speaker) : null, color: jn ? jn.fg ?? `var(--lane-${jn.lane})` : "#fff", words: os, cursor: mi(z, z.idx, wn) } : null,
6146
6147
  chip: nr(s ? tr : { ...tr, width: 64, padding: "0 6px" }, s ? void 0 : "sm"),
6147
- transport: Jr,
6148
+ transport: Xr,
6148
6149
  picker: re.sheets,
6149
6150
  sheet: u ? lr : null,
6150
6151
  voices: null,
6151
- voicesBtn: u ? null : Xr,
6152
+ voicesBtn: u ? null : es,
6152
6153
  sheetOpen: re.sheetsOpen || ee,
6153
- onShare: u && x.share ? Sa : void 0,
6154
+ onShare: u && x.share ? Aa : void 0,
6154
6155
  onSettings: u && x.settings ? () => {
6155
6156
  re.closePicker(), I((w) => !w);
6156
6157
  } : void 0,
6157
6158
  compact: !!t.compact,
6158
- paused: { title: qe, summary: Pt.state === "ready" ? Pt.summary ?? null : null, share: x.share && (t.shareUrl || !t.onShare) ? { url: ds, at: z.t } : null },
6159
- copied: Oa ? /* @__PURE__ */ M("div", { className: "gfull__toast", "aria-live": "polite", children: [
6159
+ paused: { title: qe, summary: Pt.state === "ready" ? Pt.summary ?? null : null, share: x.share && (t.shareUrl || !t.onShare) ? { url: hs, at: z.t } : null },
6160
+ copied: xa ? /* @__PURE__ */ M("div", { className: "gfull__toast", "aria-live": "polite", children: [
6160
6161
  /* @__PURE__ */ i(oe, { d: X.check, size: 13, sw: 2 }),
6161
6162
  "Link copied"
6162
6163
  ] }) : fn ? /* @__PURE__ */ M("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
6163
6164
  /* @__PURE__ */ i(oe, { d: X.volumeOff, size: 14, sw: 1.8 }),
6164
6165
  "Tap for sound"
6165
- ] }) : Zr ? /* @__PURE__ */ M("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
6166
+ ] }) : Gr ? /* @__PURE__ */ M("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
6166
6167
  /* @__PURE__ */ i(ht, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
6167
- Zr
6168
+ Gr
6168
6169
  ] }) : re.on && (Je ? At.missing != null : z.silent) ? /* @__PURE__ */ M("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
6169
6170
  /* @__PURE__ */ i(ht, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
6170
6171
  `${Nn || "Translated"} voice is still being prepared · playing with subtitles`
@@ -6180,7 +6181,7 @@ function Eu(t) {
6180
6181
  D(() => {
6181
6182
  !u && te && !$t && (on(!1), K(!1));
6182
6183
  }, [u, te, $t]);
6183
- const ps = fe && /* @__PURE__ */ M("div", { className: `pubprog${s ? " pubprog--desk" : ""}${m ? " pubprog--find" : ""}`, children: [
6184
+ const ms = fe && /* @__PURE__ */ M("div", { className: `pubprog${s ? " pubprog--desk" : ""}${m ? " pubprog--find" : ""}`, children: [
6184
6185
  /* @__PURE__ */ M("div", { className: "pubprog__row", children: [
6185
6186
  /* @__PURE__ */ i("span", { className: "l", children: `TRANSCRIBING ${U}%` }),
6186
6187
  !s && /* @__PURE__ */ i("div", { style: { flex: 1 } }),
@@ -6188,57 +6189,57 @@ function Eu(t) {
6188
6189
  /* @__PURE__ */ i("span", { className: "s", children: nn })
6189
6190
  ] }),
6190
6191
  !s && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
6191
- ] }), cr = r && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), ms = /* @__PURE__ */ i(Zc, { model: ce, rows: he, player: vt ? z : { ...z, playRow: z.seekRow }, tail: tn, tailFg: ct, running: fe, desk: s, feedRef: _t, listener: !0, showLabels: Ln, find: j, findOpen: !s && m, lang: Qe, warm: P, onVisible: Ct, wordHl: vn }), ur = /* @__PURE__ */ i(Wl, { error: d ?? W ?? (Zn && te ? null : z.error) ?? re.error, onClose: () => {
6192
+ ] }), cr = r && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), Ns = /* @__PURE__ */ i(Gc, { model: ce, rows: he, player: vt ? z : { ...z, playRow: z.seekRow }, tail: tn, tailFg: ct, running: fe, desk: s, feedRef: _t, listener: !0, showLabels: Ln, find: j, findOpen: !s && m, lang: Qe, warm: P, onVisible: Ct, wordHl: vn }), ur = /* @__PURE__ */ i(Fl, { error: d ?? W ?? (Zn && te ? null : z.error) ?? re.error, onClose: () => {
6192
6193
  g(null), ye(), z.clearError(), re.clearError();
6193
- } }), Ns = [R ? kt(R) : null, q ? q.toUpperCase() : null, se || "Read-only copy"].filter(Boolean).join(" · "), ys = (w) => /* @__PURE__ */ i("div", { className: "ctrans", children: re.noVoice ? re.noVoiceNote : /* @__PURE__ */ M(Ce, { children: [
6194
+ } }), ys = [R ? kt(R) : null, q ? q.toUpperCase() : null, se || "Read-only copy"].filter(Boolean).join(" · "), Ts = (w) => /* @__PURE__ */ i("div", { className: "ctrans", children: re.noVoice ? re.noVoiceNote : /* @__PURE__ */ M(Ce, { children: [
6194
6195
  /* @__PURE__ */ M("div", { className: "ctrans__row", children: [
6195
6196
  /* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
6196
6197
  /* @__PURE__ */ M("div", { className: "ctrans__mid", children: [
6197
6198
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: z.idx <= 0 ? 0.3 : 1 }, onClick: z.prev, children: /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 16, sw: 1.8 }) }),
6198
- /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": re.relang ? "Preparing audio" : z.playing ? "Pause" : "Play", title: re.relang ? "Preparing audio…" : re.playTitle ?? (z.playing ? "Pause" : "Play"), disabled: !It, onClick: z.toggle, children: re.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: z.playing ? void 0 : { marginLeft: 2 }, children: z.playing ? Dc : Ac }) }),
6199
+ /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": re.relang ? "Preparing audio" : z.playing ? "Pause" : "Play", title: re.relang ? "Preparing audio…" : re.playTitle ?? (z.playing ? "Pause" : "Play"), disabled: !It, onClick: z.toggle, children: re.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: z.playing ? void 0 : { marginLeft: 2 }, children: z.playing ? Ac : Ec }) }),
6199
6200
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: z.idx >= he.length - 1 ? 0.3 : 1 }, onClick: z.next, children: /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 16, sw: 1.8 }) })
6200
6201
  ] }),
6201
6202
  /* @__PURE__ */ i("span", { className: "ctrans__mute", children: mn(36) })
6202
6203
  ] }),
6203
- /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Ma(w) })
6204
- ] }) }), Ea = Nc("ga", { tabs: Zt, cur: h, pref: (Ks = Zt[0]) == null ? void 0 : Ks.key, onPick: f }), Ts = Math.max(0, Math.min(100, Math.round(U))), _a = Ye && /* @__PURE__ */ M("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
6204
+ /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: pa(w) })
6205
+ ] }) }), Ya = yc("ga", { tabs: Zt, cur: h, pref: (Xs = Zt[0]) == null ? void 0 : Xs.key, onPick: f }), ws = Math.max(0, Math.min(100, Math.round(U))), Ua = Ye && /* @__PURE__ */ M("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
6205
6206
  Ve && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Ve}/hqdefault.jpg)` } }),
6206
6207
  /* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ M(Ce, { children: [
6207
6208
  qe && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: qe }),
6208
- /* @__PURE__ */ i("div", { className: "gfull__holdpct", children: ae === "transcribing" ? `${Ts}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
6209
- /* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${ae === "transcribing" ? Ts : 0}%` } }) }),
6209
+ /* @__PURE__ */ i("div", { className: "gfull__holdpct", children: ae === "transcribing" ? `${ws}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
6210
+ /* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${ae === "transcribing" ? ws : 0}%` } }) }),
6210
6211
  /* @__PURE__ */ M("div", { className: "gfull__holds", children: [
6211
6212
  ae === "transcribing" ? "Transcribing" : ae === "cropping" ? "Preparing the video" : "Waiting to start",
6212
6213
  ae === "transcribing" && ($ != null && $.segmentsDone) ? ` · ${nn.toLowerCase()}` : ""
6213
6214
  ] }),
6214
6215
  /* @__PURE__ */ i("div", { className: "gfull__holdn", children: "The video starts as soon as the first lines are transcribed." })
6215
6216
  ] }) : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) })
6216
- ] }), ws = u && n && (fe || ae === "cropping") ? Math.max(0, Math.min(100, Math.round(U))) : null, On = k(t.onProgress);
6217
+ ] }), vs = u && n && (fe || ae === "cropping") ? Math.max(0, Math.min(100, Math.round(U))) : null, On = k(t.onProgress);
6217
6218
  On.current = t.onProgress, D(() => {
6218
6219
  var w;
6219
- (w = On.current) == null || w.call(On, ws);
6220
- }, [ws]);
6221
- const [Ya, dr] = L(!1), hr = !!St && !Ye && (Je ? !!z.ended : !z.playing && z.dur > 0 && z.t >= z.dur - 0.5);
6220
+ (w = On.current) == null || w.call(On, vs);
6221
+ }, [vs]);
6222
+ const [Ra, dr] = L(!1), hr = !!St && !Ye && (Je ? !!z.ended : !z.playing && z.dur > 0 && z.t >= z.dur - 0.5);
6222
6223
  D(() => {
6223
6224
  hr || dr(!1);
6224
6225
  }, [hr]);
6225
- const Ua = t.endCard !== !1 && hr && !Ya && /* @__PURE__ */ i(mu, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => dr(!0), onReplay: () => {
6226
+ const Pa = t.endCard !== !1 && hr && !Ra && /* @__PURE__ */ i(Nu, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => dr(!0), onReplay: () => {
6226
6227
  dr(!0), et.current = !0, z.seekFrac ? z.seekFrac(0) : z.seekRow(0), z.playing || z.toggle();
6227
6228
  } });
6228
6229
  if (u) return /* @__PURE__ */ M(Ce, { children: [
6229
- r ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: cr }) : _a || St || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
6230
- Ua,
6230
+ r ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: cr }) : Ua || St || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
6231
+ Pa,
6231
6232
  ur
6232
6233
  ] });
6233
6234
  if (s) {
6234
- const w = vt && !$t && !r && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: ys(!0) }), me = !r && (Zt.length > 0 || $t || !!re.sidePanel || !!w);
6235
+ const w = vt && !$t && !r && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: Ts(!0) }), me = !r && (Zt.length > 0 || $t || !!re.sidePanel || !!w);
6235
6236
  return /* @__PURE__ */ M(Ce, { children: [
6236
6237
  /* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ M("div", { className: "gcolhead", children: [
6237
6238
  /* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */ M("div", { className: "gcolhead__col", children: [
6238
6239
  /* @__PURE__ */ i("div", { style: { flex: "none" }, children: /* @__PURE__ */ i(Qn, { dark: a, height: 20.38 }) }),
6239
6240
  !r && /* @__PURE__ */ M("div", { className: "dhead__session", children: [
6240
6241
  /* @__PURE__ */ i("span", { className: "t", children: n ? qe : "" }),
6241
- /* @__PURE__ */ i("span", { className: "s", children: n ? Ns : "" })
6242
+ /* @__PURE__ */ i("span", { className: "s", children: n ? ys : "" })
6242
6243
  ] })
6243
6244
  ] }) }),
6244
6245
  me && /* @__PURE__ */ i("div", { className: "gcolhead__side" })
@@ -6247,18 +6248,18 @@ function Eu(t) {
6247
6248
  /* @__PURE__ */ M("div", { className: "listenerlive__main", children: [
6248
6249
  cr,
6249
6250
  !r && Mn,
6250
- ps,
6251
+ ms,
6251
6252
  p && /* @__PURE__ */ i("div", { className: "pubflash", children: p }),
6252
- !r && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: ms }),
6253
+ !r && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: Ns }),
6253
6254
  !r && /* @__PURE__ */ M("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
6254
6255
  Ue.can && /* @__PURE__ */ i("span", { className: "barchip", style: Ue.active ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)", borderRadius: 12 } : void 0, children: /* @__PURE__ */ i(Un, { flag: Ue.flag, code: Ue.code, label: Ue.label, bordered: !1, onClick: Ue.onClick }) }),
6255
- Hr
6256
+ Wr
6256
6257
  ] })
6257
6258
  ] }),
6258
- me && /* @__PURE__ */ M(wc, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
6259
+ me && /* @__PURE__ */ M(vc, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
6259
6260
  !re.sidePanel && w,
6260
- !re.sidePanel && ns,
6261
- !re.sidePanel && Zt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(yc, { col: Ea, order: ["summary", "export"], onPick: f, grip: { summary: 40, export: 28 }, render: (Pe) => /* @__PURE__ */ i(Js, { panel: !0, children: Wr(Pe) }) }) }),
6261
+ !re.sidePanel && rs,
6262
+ !re.sidePanel && Zt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(Tc, { col: Ya, order: ["summary", "export"], onPick: f, grip: { summary: 40, export: 28 }, render: (Pe) => /* @__PURE__ */ i(ei, { panel: !0, children: Fr(Pe) }) }) }),
6262
6263
  re.sidePanel
6263
6264
  ] })
6264
6265
  ] }),
@@ -6268,26 +6269,26 @@ function Eu(t) {
6268
6269
  ur
6269
6270
  ] });
6270
6271
  }
6271
- const Ra = Zt.length > 0 && !m && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ M(Js, { panel: !0, children: [
6272
- /* @__PURE__ */ i(Ji, { tabs: Zt, current: h, onPick: f, gap: h !== "none" }),
6273
- h !== "none" && Wr(h)
6272
+ const $a = Zt.length > 0 && !m && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ M(ei, { panel: !0, children: [
6273
+ /* @__PURE__ */ i(ea, { tabs: Zt, current: h, onPick: f, gap: h !== "none" }),
6274
+ h !== "none" && Fr(h)
6274
6275
  ] }) });
6275
6276
  return /* @__PURE__ */ M(Ce, { children: [
6276
- /* @__PURE__ */ i(ou, { dark: a, title: n ? qe : "", subline: n ? Ns : "", onOptions: () => I(!0), optionsActive: ee }),
6277
+ /* @__PURE__ */ i(lu, { dark: a, title: n ? qe : "", subline: n ? ys : "", onOptions: () => I(!0), optionsActive: ee }),
6277
6278
  cr,
6278
- ps,
6279
- !r && Ra,
6280
- !r && ns,
6279
+ ms,
6280
+ !r && $a,
6281
+ !r && rs,
6281
6282
  !r && /* @__PURE__ */ M("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
6282
6283
  Mn,
6283
- ms,
6284
+ Ns,
6284
6285
  p && /* @__PURE__ */ i("div", { className: "txflash", children: p })
6285
6286
  ] }),
6286
6287
  !r && /* @__PURE__ */ M("div", { className: "gbottom", "data-transport": "1", children: [
6287
- vt && !$t && /* @__PURE__ */ i("div", { className: "pubctl", children: ys(!1) }),
6288
+ vt && !$t && /* @__PURE__ */ i("div", { className: "pubctl", children: Ts(!1) }),
6288
6289
  /* @__PURE__ */ M("div", { className: "gbottom__bar", children: [
6289
6290
  Ue.can && /* @__PURE__ */ i("div", { style: { flex: "none" }, children: nr({ width: 87 }, void 0) }),
6290
- /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Hr })
6291
+ /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Wr })
6291
6292
  ] })
6292
6293
  ] }),
6293
6294
  !St && re.sheets,
@@ -6296,13 +6297,13 @@ function Eu(t) {
6296
6297
  ur
6297
6298
  ] });
6298
6299
  }
6299
- function _u(t) {
6300
+ function Yu(t) {
6300
6301
  const [e, n] = L(null);
6301
6302
  return D(() => {
6302
6303
  if (!t || (e == null ? void 0 : e.url) === t && e.ok) return;
6303
6304
  let r = !0, s;
6304
6305
  const a = () => {
6305
- ao(t).then((o) => {
6306
+ lo(t).then((o) => {
6306
6307
  r && (n({ url: t, ok: o }), o || (s = setTimeout(a, 3e3)));
6307
6308
  });
6308
6309
  };
@@ -6311,62 +6312,62 @@ function _u(t) {
6311
6312
  };
6312
6313
  }, [t, (e == null ? void 0 : e.url) === t && (e == null ? void 0 : e.ok)]), !t || (e == null ? void 0 : e.url) !== t ? "unknown" : e.ok ? "yes" : "no";
6313
6314
  }
6314
- function Zu({ site: t, size: e = 16, tinted: n = !1, style: r, className: s }) {
6315
+ function Gu({ site: t, size: e = 16, tinted: n = !1, style: r, className: s }) {
6315
6316
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: e, height: e, "aria-hidden": "true", className: s, style: { flex: "none", display: "block", color: n ? t.color : void 0, ...r }, children: /* @__PURE__ */ i("path", { d: t.glyph, fill: "currentColor", fillRule: "evenodd" }) });
6316
6317
  }
6317
6318
  export {
6318
- dc as ExportPanel,
6319
- ia as FullVideo,
6320
- iu as MiniPlayer,
6321
- Ec as MuteButton,
6322
- Vc as NO_SEEK,
6323
- Dc as PAUSE_D,
6324
- Ac as PLAY_D,
6325
- Wc as PUB_SIDE,
6326
- Wu as PanelSeek,
6327
- vl as PlayerApiProvider,
6319
+ hc as ExportPanel,
6320
+ oa as FullVideo,
6321
+ au as MiniPlayer,
6322
+ _c as MuteButton,
6323
+ Hc as NO_SEEK,
6324
+ Ac as PAUSE_D,
6325
+ Ec as PLAY_D,
6326
+ Fc as PUB_SIDE,
6327
+ Fu as PanelSeek,
6328
+ Ll as PlayerApiProvider,
6328
6329
  Rn as REMOVE_BG_LABEL,
6329
- Ro as REMOVE_BG_NOTE,
6330
- Fl as ReplayScrub,
6331
- _i as SITES,
6332
- Zu as SiteIcon,
6333
- tc as SpeakerCast,
6334
- Mc as SummaryPanel,
6335
- Hu as Transport,
6336
- Gc as TxFind,
6337
- Zc as TxLines,
6338
- Fu as VocalStackPlayer,
6339
- nc as VoiceSheetBody,
6340
- Sc as YtFollow,
6341
- $o as bedNote,
6330
+ Po as REMOVE_BG_NOTE,
6331
+ Zl as ReplayScrub,
6332
+ Ui as SITES,
6333
+ Gu as SiteIcon,
6334
+ nc as SpeakerCast,
6335
+ fc as SummaryPanel,
6336
+ Wu as Transport,
6337
+ qc as TxFind,
6338
+ Gc as TxLines,
6339
+ Zu as VocalStackPlayer,
6340
+ rc as VoiceSheetBody,
6341
+ Dc as YtFollow,
6342
+ Qo as bedNote,
6342
6343
  on as browserFull,
6343
- vo as hostOfUrl,
6344
+ ko as hostOfUrl,
6344
6345
  Bt as lineEnd,
6345
- ta as lineWords,
6346
+ ra as lineWords,
6346
6347
  Gt as pictureT,
6347
6348
  An as placePosition,
6348
6349
  En as realFull,
6349
- Bu as setErrorReporter,
6350
- mi as setFullTarget,
6351
- Vu as siteById,
6352
- Lo as siteOf,
6353
- Ic as snapPosition,
6354
- fi as spokenWordOf,
6355
- Qo as trackPlan,
6356
- Vi as useApi,
6357
- oc as useArchiveVoice,
6358
- Ko as useBackgroundBed,
6359
- Pc as useDuck,
6360
- qc as useFindPull,
6361
- _c as useFlash,
6350
+ Vu as setErrorReporter,
6351
+ yi as setFullTarget,
6352
+ Hu as siteById,
6353
+ Yr as siteOf,
6354
+ bc as snapPosition,
6355
+ mi as spokenWordOf,
6356
+ Bo as trackPlan,
6357
+ Wi as useApi,
6358
+ lc as useArchiveVoice,
6359
+ Jo as useBackgroundBed,
6360
+ $c as useDuck,
6361
+ Kc as useFindPull,
6362
+ Yc as useFlash,
6362
6363
  Vt as usePlayerApi,
6363
- Ri as useSeparatedTrack,
6364
- hc as useSummaryIn,
6365
- Dl as useTranscript,
6366
- Qc as useTxPlayer,
6367
- Fc as useTxVoice,
6368
- Kl as useViewportTranslation,
6369
- ic as useVoiceCatalogue,
6370
- $c as useYtLead
6364
+ $i as useSeparatedTrack,
6365
+ gc as useSummaryIn,
6366
+ Al as useTranscript,
6367
+ Bc as useTxPlayer,
6368
+ Zc as useTxVoice,
6369
+ Jl as useViewportTranslation,
6370
+ ac as useVoiceCatalogue,
6371
+ Qc as useYtLead
6371
6372
  };
6372
6373
  //# sourceMappingURL=index.js.map