"use strict";(()=>{var it=Object.defineProperty;var ot=(e,t)=>{for(var n in t)it(e,n,{get:t[n],enumerable:!0})};function Y(e,t){return e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset}function R(e){if(!e)return;let t=e.getBoundingClientRect();t.top>=0&&t.left>=0&&t.bottom<=document.documentElement.clientHeight&&t.right<=document.documentElement.clientWidth||e.scrollIntoView({behavior:"smooth",block:t.top<0?"start":"end"})}function L(e){return[e]}var A=(e,t,n,i)=>{w(t[n],e[n])||i(e[n],t[n])},P=(e,t,n,i)=>{for(let o of n)if(!w(t[o],e[o])){i();break}},w=(e,t)=>{if(e===t)return!0;if((e===void 0||t===void 0||e===null||t===null)&&(e||t))return!1;let n=e?.constructor.name,i=t?.constructor.name;if(n!==i)return!1;if(n==="Array"){if(e.length!==t.length)return!1;let o=!0;for(let r=0;r<e.length;r++)if(!w(e[r],t[r])){o=!1;break}return o}if(n==="Object"){let o=!0,r=Object.keys(e),c=Object.keys(t);if(r.length!==c.length)return!1;for(let a=0;a<r.length;a++)if(e[r[a]]&&t[r[a]]){if(e[r[a]]===t[r[a]])continue;if(e[r[a]]&&(e[r[a]].constructor.name==="Array"||e[r[a]].constructor.name==="Object")){if(o=w(e[r[a]],t[r[a]]),!o)break}else if(e[r[a]]!==t[r[a]]){o=!1;break}}else if(e[r[a]]&&!t[r[a]]||!e[r[a]]&&t[r[a]]){o=!1;break}return o}return e===t};var k;(function(e){e.Slow="slow",e.Normal="normal",e.Fast="fast"})(k||(k={}));var V=e=>{switch(e){case k.Slow:return .5;case k.Normal:return 1;case k.Fast:return 1.2}},b;(function(e){e.Paragraph="paragraph",e.Heading="heading"})(b||(b={}));var Z=(e,t)=>{let n;return e==="heading"&&(n=1e3),n=500,Math.round(n*(1/V(t)))};var U=[{name:"Albert"},{name:"Bad News"},{name:"Bahh"},{name:"Bells"},{name:"Boing"},{name:"Bubbles"},{name:"Cellos"},{name:"Good News"},{name:"Jester"},{name:"Organ"},{name:"Superstar"},{name:"Trinoids"},{name:"Whisper"},{name:"Wobble"},{name:"Zarvox"}];var F=[{name:"Eddy"},{name:"Flo"},{name:"Grandma"},{name:"Grandpa"},{name:"Jacques"},{name:"Reed"},{name:"Rocko"},{name:"Sandy"},{name:"Shelley"},{name:"Fred"},{name:"Junior"},{name:"Kathy"},{name:"Ralph"},{name:"eSpeak Arabic"},{name:"eSpeak Bulgarian"},{name:"eSpeak Bengali"},{name:"eSpeak Catalan"},{name:"eSpeak Chinese (Mandarin, latin as English)"},{name:"eSpeak Czech"},{name:"eSpeak Danish"},{name:"eSpeak German"},{name:"eSpeak Greek"},{name:"eSpeak Spanish (Spain)"},{name:"eSpeak Estonian"},{name:"eSpeak Finnish"},{name:"eSpeak Gujarati"},{name:"eSpeak Croatian"},{name:"eSpeak Hungarian"},{name:"eSpeak Indonesian"},{name:"eSpeak Italian"},{name:"eSpeak Kannada"},{name:"eSpeak Korean"},{name:"eSpeak Lithuanian"},{name:"eSpeak Latvian"},{name:"eSpeak Malayalm"},{name:"eSpeak Marathi"},{name:"eSpeak Malay"},{name:"eSpeak Norwegian Bokm\xE5l"},{name:"eSpeak Polish"},{name:"eSpeak Portuguese (Brazil)"},{name:"eSpeak Romanian"},{name:"eSpeak Russian"},{name:"eSpeak Slovak"},{name:"eSpeak Slovenian"},{name:"eSpeak Serbian"},{name:"eSpeak Swedish"},{name:"eSpeak Swahili"},{name:"eSpeak Tamil"},{name:"eSpeak Telugu"},{name:"eSpeak Turkish"},{name:"eSpeak Vietnamese (Northern)"}];var H={};ot(H,{ar:()=>X,bg:()=>$,bho:()=>ee,bn:()=>te,ca:()=>ae,cmn:()=>ne,cs:()=>ie,da:()=>oe,de:()=>le,el:()=>re,en:()=>se,es:()=>ue,eu:()=>ce,fa:()=>he,fi:()=>de,fr:()=>fe,gl:()=>me,he:()=>pe,hi:()=>ge,hr:()=>ye,hu:()=>Se,id:()=>ke,it:()=>qe,ja:()=>xe,kn:()=>ve,ko:()=>Ne,mr:()=>be,ms:()=>Ce,nb:()=>Oe,nl:()=>Ee,pl:()=>Me,pt:()=>we,ro:()=>Re,ru:()=>Ae,sk:()=>Ie,sl:()=>Te,sv:()=>Ge,ta:()=>_e,te:()=>Le,th:()=>Pe,tr:()=>Ve,uk:()=>Ue,vi:()=>Fe,wuu:()=>He,yue:()=>Be});var X=[{name:"Microsoft Amina Online (Natural) - Arabic (Algeria)",quality:3},{name:"Majed",quality:2},{name:"Android Speech Recognition and Synthesis from Google ar-xa-x-arc-network",quality:2},{name:"Microsoft Hoda - Arabic (Arabic )",quality:1}];var $=[{name:"Microsoft Kalina Online (Natural) - Bulgarian (Bulgaria)",quality:3},{name:"Android Speech Recognition and Synthesis from Google bg-bg-x-ifk-network",quality:2},{name:"Daria",quality:1},{name:"Microsoft Ivan - Bulgarian (Bulgaria)",quality:1}];var ee=[{name:"Jaya",quality:1}];var te=[{name:"Microsoft Tanishaa Online (Natural) - Bengali (India)",quality:3},{name:"Android Speech Recognition and Synthesis from Google bn-in-x-bnf-network",quality:2},{name:"Piya",quality:1}];var ae=[{name:"Microsoft Joana Online (Natural) - Catalan (Spain)",quality:3},{name:"Android Speech Recognition and Synthesis from Google ca-es-x-caf-network",quality:2},{name:"Montse",quality:1},{name:"Microsoft Herena - Catalan (Spain)",quality:1}];var ne=[{name:"Microsoft Xiaoxiao Online (Natural) - Chinese (Mainland)",quality:3},{name:"Lilian",quality:2},{name:"Google \u666E\u901A\u8BDD\uFF08\u4E2D\u56FD\u5927\u9646\uFF09",quality:2},{name:"Android Speech Recognition and Synthesis from Google cmn-CN-x-ccc-network",quality:2},{name:"Microsoft Huihui - Chinese (Simplified, PRC)",quality:1}];var ie=[{name:"Microsoft Vlasta Online (Natural) - Czech (Czech)",quality:3},{name:"Zuzana",quality:2},{name:"Google \u010De\u0161tina (Natural)",quality:2},{name:"Microsoft Jakub - Czech (Czech)",quality:1}];var oe=[{name:"Microsoft Christel Online (Natural) - Danish (Denmark)",quality:3},{name:"Google Dansk 1 (Natural)",quality:2},{name:"Sara",quality:1},{name:"Microsoft Helle - Danish (Denmark)",quality:1}];var le=[{name:"Microsoft SeraphinaMultilingual Online (Natural) - German (Germany)",quality:3},{name:"Petra",quality:2},{name:"Weibliche Google-Stimme (Deutschland)",quality:2},{name:"Google Deutsch 2 (Natural)",quality:2},{name:"Microsoft Hedda - German (Germany)",quality:1}];var re=[{name:"Microsoft Athina Online (Natural) - Greek (Greece)",quality:3},{name:"Google \u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC (Natural)",quality:2},{name:"Melina",quality:1},{name:"Microsoft Stefanos - Greek (Greece)",quality:1}];var se=[{name:"Tessa",quality:4},{name:"Microsoft EmmaMultilingual Online (Natural) - English (United States)",quality:3},{name:"Google US English",quality:2},{name:"Google US English 5 (Natural)",quality:2},{name:"Chrome OS Australian English 5",quality:2},{name:"Microsoft Zira - English (United States)",quality:1}];var ue=[{name:"Microsoft Elvira Online (Natural) - Spanish (Spain)",quality:3},{name:"Google espa\xF1ol",quality:2},{name:"Google espa\xF1ol 4 (Natural)",quality:2},{name:"Marisol",quality:1},{name:"Microsoft Helena - Spanish (Spain)",quality:1}];var ce=[{name:"Miren",quality:1}];var he=[{name:"Microsoft Dilara Online (Natural) - Persian (Iran)",quality:3},{name:"Dariush",quality:1}];var de=[{name:"Microsoft Noora Online (Natural) - Finnish (Finland)",quality:3},{name:"Google Suomi (Natural)",quality:2},{name:"Satu",quality:1},{name:"Microsoft Heidi - Finnish (Finland)",quality:1}];var fe=[{name:"Microsoft VivienneMultilingual Online (Natural) - French (France)",quality:3},{name:"Audrey",quality:2},{name:"Google fran\xE7ais",quality:2},{name:"Google fran\xE7ais 4 (Natural)",quality:2},{name:"Microsoft Julie - French (France)",quality:1}];var me=[{name:"Microsoft Sabela Online (Natural) - Galician (Spain)",quality:3},{name:"Carmela",quality:1}];var pe=[{name:"Microsoft Hila Online (Natural) - Hebrew (Israel)",quality:3},{name:"Android Speech Recognition and Synthesis from Google he-il-x-heb-network",quality:2},{name:"Carmit",quality:1},{name:"Microsoft Asaf - Hebrew (Israel)",quality:1}];var ge=[{name:"Microsoft Swara Online (Natural) - Hindi (India)",quality:3},{name:"Kiyara",quality:2},{name:"Google \u0939\u093F\u0928\u094D\u0926\u0940",quality:2},{name:"Google \u0939\u093F\u0928\u094D\u0926\u0940 1 (Natural)",quality:2},{name:"Microsoft Kalpana - Hindi (India)",quality:1},{name:"Chrome OS \u0939\u093F\u0928\u094D\u0926\u0940 1",quality:1}];var ye=[{name:"Microsoft Gabrijela Online (Natural) - Croatian (Croatia)",quality:3},{name:"Android Speech Recognition and Synthesis from Google hr-hr-x-hra-network",quality:2},{name:"Lana",quality:1},{name:"Microsoft Matej - Croatian (Croatia)",quality:1}];var Se=[{name:"Microsoft Noemi Online (Natural) - Hungarian (Hungary)",quality:3},{name:"T\xFCnde",quality:2},{name:"Google Magyar (Natural)",quality:2},{name:"Microsoft Szabolcs - Hungarian (Hungary)",quality:1}];var ke=[{name:"Microsoft Gadis Online (Natural) - Indonesian (Indonesia)",quality:3},{name:"Google Bahasa Indonesia",quality:2},{name:"Google Bahasa Indonesia 1 (Natural)",quality:2},{name:"Damayanti",quality:1},{name:"Microsoft Andika - Indonesian (Indonesia)",quality:1}];var qe=[{name:"Microsoft Elsa Online (Natural) - Italian (Italy)",quality:3},{name:"Federica",quality:2},{name:"Google italiano",quality:2},{name:"Google italiano 2 (Natural)",quality:2},{name:"Microsoft Elsa - Italian (Italy)",quality:1}];var xe=[{name:"Microsoft Nanami Online (Natural) - Japanese (Japan)",quality:3},{name:"Google \u65E5\u672C\u8A9E",quality:2},{name:"Google \u65E5\u672C\u8A9E 1 (Natural)",quality:2},{name:"Chrome OS \u65E5\u672C\u8A9E 2",quality:2},{name:"O-Ren",quality:1},{name:"Microsoft Ayumi - Japanese (Japan)",quality:1}];var ve=[{name:"Microsoft Sapna Online (Natural) - Kannada (India)",quality:3},{name:"Android Speech Recognition and Synthesis from Google kn-in-x-knf-network",quality:2},{name:"Soumya",quality:1}];var Ne=[{name:"Microsoft SunHi Online (Natural) - Korean (Korea)",quality:3},{name:"Yuna",quality:2},{name:"Google \uD55C\uAD6D\uC758",quality:2},{name:"Google \uD55C\uAD6D\uC5B4 2 (Natural)",quality:2},{name:"Microsoft Heami - Korean (Korea)",quality:1}];var be=[{name:"Microsoft Aarohi Online (Natural) - Marathi (India)",quality:3},{name:"Android Speech Recognition and Synthesis from Google mr-in-x-mrf-network",quality:2},{name:"Ananya",quality:1}];var Ce=[{name:"Microsoft Yasmin Online (Natural) - Malay (Malaysia)",quality:3},{name:"Android Speech Recognition and Synthesis from Google ms-my-x-msc-network",quality:2},{name:"Amira",quality:1},{name:"Microsoft Rizwan - Malay (Malaysia)",quality:1}];var Oe=[{name:"Microsoft Pernille Online (Natural) - Norwegian (Bokm\xE5l, Norway)",quality:3},{name:"Google Norsk Bokm\xE5l 2 (Natural)",quality:2},{name:"Nora",quality:1},{name:"Microsoft Jon - Norwegian (Bokm\xE5l Norway)",quality:1}];var Ee=[{name:"Microsoft Colette Online (Natural) - Dutch (Netherlands)",quality:3},{name:"Google Nederlands",quality:2},{name:"Google Nederlands 4 (Natural)",quality:2},{name:"Claire",quality:1},{name:"Microsoft Frank - Dutch (Netherlands)",quality:1}];var Me=[{name:"Microsoft Zofia Online (Natural) - Polish (Poland)",quality:3},{name:"Ewa",quality:2},{name:"Google polski",quality:2},{name:"Google Polski 2 (Natural)",quality:2},{name:"Microsoft Paulina - Polish (Poland)",quality:1}];var we=[{name:"Microsoft Raquel Online (Natural) - Portuguese (Portugal)",quality:3},{name:"Google portugu\xEAs do Brasil",quality:2},{name:"Google portugu\xEAs de Portugal 1 (Natural)",quality:2},{name:"Catarina",quality:1},{name:"Microsoft Helia - Portuguese (Portugal)",quality:1}];var Re=[{name:"Microsoft Alina Online (Natural) - Romanian (Romania)",quality:3},{name:"Android Speech Recognition and Synthesis from Google ro-ro-x-vfv-network",quality:2},{name:"Ioana",quality:1},{name:"Microsoft Andrei - Romanian (Romania)",quality:1}];var Ae=[{name:"Microsoft Svetlana Online (Natural) - Russian (Russia)",quality:3},{name:"Google \u0440\u0443\u0441\u0441\u043A\u0438\u0439",quality:2},{name:"Android Speech Recognition and Synthesis from Google ru-ru-x-dfc-network",quality:2},{name:"Katya",quality:1},{name:"Microsoft Irina - Russian (Russian)",quality:1}];var Ie=[{name:"Microsoft Viktoria Online (Natural) - Slovak (Slovakia)",quality:3},{name:"Google Sloven\u010Dina (Natural)",quality:2},{name:"Laura",quality:1},{name:"Microsoft Filip - Slovak (Slovakia)",quality:1}];var Te=[{name:"Microsoft Petra Online (Natural) - Slovenian (Slovenia)",quality:3},{name:"Android Speech Recognition and Synthesis from Google sl-si-x-frm-local",quality:2},{name:"Tina",quality:1},{name:"Microsoft Lado - Slovenian (Slovenia)",quality:1}];var Ge=[{name:"Microsoft Sofie Online (Natural) - Swedish (Sweden)",quality:3},{name:"Alva",quality:2},{name:"Google Svenska 1 (Natural)",quality:2},{name:"Microsoft Bengt - Swedish (Sweden)",quality:1}];var _e=[{name:"Microsoft Pallavi Online (Natural) - Tamil (India)",quality:3},{name:"Android Speech Recognition and Synthesis from Google ta-in-x-tac-network",quality:2},{name:"Vani",quality:1},{name:"Microsoft Valluvar - Tamil (India)",quality:1}];var Le=[{name:"Microsoft Shruti Online (Natural) - Telugu (India)",quality:3},{name:"Android Speech Recognition and Synthesis from Google te-in-x-tef-network",quality:2},{name:"Geeta",quality:1}];var Pe=[{name:"Microsoft Premwadee Online (Natural) - Thai (Thailand)",quality:3},{name:"Google \u0E44\u0E17\u0E22 (Natural)",quality:2},{name:"Narisa",quality:1},{name:"Microsoft Pattara - Thai (Thailand)",quality:1}];var Ve=[{name:"Microsoft Emel Online (Natural) - Turkish (Turkey)",quality:3},{name:"Google T\xFCrk\xE7e 3 (Natural)",quality:2},{name:"Yelda",quality:1},{name:"Microsoft Tolga - Turkish (Turkey)",quality:1}];var Ue=[{name:"Microsoft Polina Online (Natural) - Ukrainian (Ukraine)",quality:3},{name:"Google \u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430 (Natural)",quality:2},{name:"Lesya",quality:1}];var Fe=[{name:"Microsoft HoaiMy Online (Natural) - Vietnamese (Vietnam)",quality:3},{name:"Google Ti\u1EBFng Vi\u1EC7t 1 (Natural)",quality:2},{name:"Linh",quality:1},{name:"Microsoft An - Vietnamese (Vietnam)",quality:1}];var He=[{name:"Nannan",quality:1}];var Be=[{name:"Microsoft HiuGaai Online (Natural) - Chinese (Cantonese Traditional)",quality:3},{name:"Sinji",quality:2},{name:"Google \u7CA4\u8A9E\uFF08\u9999\u6E2F\uFF09",quality:2},{name:"Android Speech Recognition and Synthesis from Google yue-hk-x-jar-network",quality:2},{name:"Microsoft Tracy - Chinese (Traditional, Hong Kong S.A.R.)",quality:1}];var De=e=>{var t,n;let i=H[e.lang.toLowerCase().split("-")[0]];return i&&(n=(t=i.find(o=>o.name===e.name))===null||t===void 0?void 0:t.quality)!==null&&n!==void 0?n:0},Ke=e=>U.find(t=>t.name===e.name||e.voiceURI.includes(t.name))||F.find(t=>t.name===e.name);function je(){let e=speechSynthesis.getVoices().filter(n=>n.localService).filter(n=>!Ke(n));e.sort((n,i)=>n.name===i.name?0:n.name<i.name?-1:1);let t=new Set(e.map(n=>n.voiceURI));return e.filter(n=>n.voiceURI.endsWith(".premium")||!t.has(n.voiceURI+".premium")).map(n=>({voice:n,quality:De(n)}))}function B(e){return e.replace(/-.*/,"")}function D({chunk:e,voices:t,fallbackToEnglish:n}){var i;let o=B(e.language).toLowerCase(),r=t.filter(({voice:a})=>a.lang.startsWith(o)),c=!1;return!r.length&&n&&(r=t.filter(({voice:a})=>a.lang.startsWith("en")),c=!0),r.sort((a,s)=>a.quality-s.quality).reverse(),{voice:(i=r[0])===null||i===void 0?void 0:i.voice,isFallback:c}}function ze({chunks:e,voices:t,fallbackToEnglish:n}){let i=!1,o=!1,r=!1;for(let c of e){let{voice:a,isFallback:s}=D({chunk:c,voices:t,fallbackToEnglish:n});a?i=!0:o=!0,s&&(r=!0)}if(r)return"some-with-fallback";if(i){if(!o)return"all"}else return"none";return"some"}function K(e){let t=a=>a.matches(lt),n=a=>a.matches(rt),i=[],o=[],r=(a,s)=>{var u;if(!/\p{L}/u.test((u=a.nodeValue)!==null&&u!==void 0?u:""))return;let l=o[o.length-1];if(!l)return;let h=i[i.length-1];(!h||h.language!==s||l!==h.root)&&(h={language:s,nodes:[],root:l},i.push(h)),h.nodes.push(a)},c=a=>{let s=st(a),u=t(a);if(!a.dataset.skipPlayback){u&&o.push(a);for(let l of a.childNodes)switch(l.nodeType){case Node.ELEMENT_NODE:n(l)||c(l);break;case Node.TEXT_NODE:o.length!==0&&r(l,s);break;default:break}u&&o.pop()}};return c(e),i}var lt="h1, h2, h3, h4, h5, h6, p, th, td, caption, li, blockquote, q, dt, dd, figcaption",rt="sup, sub";function st(e){let t=e;for(;t&&t.nodeType===Node.ELEMENT_NODE;){if(t.lang)return t.lang.toLowerCase();t=t.parentNode}return null}function Qe(e,{excludeCountry:t=!0}={}){let n={};for(let i of e){let o=i.language;t&&(o=B(o)),n[o]||(n[o]=0),n[o]+=i.nodes.reduce((r,c)=>r+c.length,0)}return n}function j(e,t=null){var n;let i=t;if(!i){let o=window.getSelection();if(o?.rangeCount!==1)return null;i=o.getRangeAt(0)}try{if(i.startContainer.nodeType!==Node.TEXT_NODE)return null}catch{return null}for(let o=0;o<e.length;o++){let r=0;for(let c of e[o].nodes){if(i.startContainer===c)return r+=i.startOffset,{chunkIndex:o,chunkRangeOffset:r};r+=(n=c.length)!==null&&n!==void 0?n:0}}return null}var Je="h1, h2, h3, h4, h5, h6",We="blockquote, p, dt";function Ye(e,t,n){let i=null;return e.root!==t.root&&(e.root.matches(Je)||t.root.matches(Je)?i=b.Heading:(e.root.matches(We)||t.root.matches(We))&&(i=b.Paragraph)),i?Z(i,n):0}function ut(){let e=navigator.platform.toLowerCase(),t=navigator.userAgent.toLowerCase();return e.includes("win")?"Windows":e.includes("mac")?"macOS":e.includes("linux")?"Linux":/android/.test(t)?"Android":/iphone|ipad|ipod/.test(t)?"iOS":"Unknown OS"}var Ze=()=>{let e=ut();return{textSelection:e==="iOS",speechBoundaryUpdates:e==="Android"}};var C=class{constructor({rootElement:t,initialState:n={},fallbackToEnglish:i,onSharedStateChange:o,onPlayChange:r,renderControls:c}){this.initialize=()=>{this.chunks=K(this.rootElement),document.addEventListener("selectionchange",this.updateContainsSelectionState),document.addEventListener("keydown",this.handleEscapeKeydown),speechSynthesis.addEventListener("voiceschanged",this.handleVoicesChanged),speechSynthesis.getVoices().length?this.handleVoicesChanged():setTimeout(()=>{this.handleVoicesChanged()},50),this.renderControls()},this.setState=(a,{suppressEvents:s=!1}={})=>{let u=this.state,l=Object.assign(Object.assign({},u),a);this.state=l,this.renderControls(),!s&&(A(l,u,"playing",h=>{this.onPlayChange&&this.onPlayChange(h),h?this.startPlayingCurrentChunkAndQueueNext():(this.state.speakTimeoutId&&clearTimeout(this.state.speakTimeoutId),speechSynthesis.cancel())}),A(l,u,"speakTimeoutId",(h,p)=>{p&&clearTimeout(p)}),A(l,u,"settingsShown",h=>{h&&this.renderControls()}),P(l,u,["chunkIndex","chunkRangeOffset"],()=>{var h,p;if(l.playing)this.startPlayingCurrentChunkAndQueueNext();else{let g=window.getSelection(),S=document.createRange(),f=(h=this.chunks)===null||h===void 0?void 0:h[this.state.chunkIndex],m=f?.nodes[0],q=f?.nodes[f.nodes.length-1];if(g?.removeAllRanges(),!m||!q)return;S.setStart(m,0),S.setEnd(q,(p=q.length)!==null&&p!==void 0?p:0),this.playbackAddedRange=S,g?.addRange(S),m?.parentElement&&this.state.scrollEnabled&&R(m?.parentElement)}}),P(l,u,["rate","volume","pitch","languageVoices"],()=>{l.playing&&(this.voicePropChanged=!0,this.startPlayingCurrentChunkAndQueueNext()),this.onSharedStateChange&&this.onSharedStateChange({languageVoices:this.state.languageVoices,rate:this.state.rate,volume:this.state.volume,pitch:this.state.pitch})}))},this.getAvailableVoices=()=>this._availableVoices&&this._availableVoices.length>0?this._availableVoices:(this._availableVoices=je(),this._availableVoices),this.renderControls=()=>{let a=Qe(this.chunks);Object.keys(a).sort((l,h)=>a[h]-a[l]);let u=Object.assign(Object.assign({},this.state),{voiceAvailability:this.state.chunksVoiceAvailability,play:this.play,pause:this.pause,stop:this.stop,setRate:l=>this.setState({rate:l}),setVolume:l=>this.setState({volume:l}),setScrollEnabled:l=>this.setScrollEnabled(l)});this._renderControls(u)},this.getUtteranceOptions=a=>{let s={pitch:this.state.pitch,rate:V(this.state.rate),volume:this.state.volume};if(a.language){let{voice:u,isFallback:l}=this.getVoice(a);s.voice=u,s.lang=l?"en":a.language}return s},this.getVoice=a=>D({chunk:a,voices:this.getAvailableVoices(),fallbackToEnglish:this.state.fallbackToEnglish}),this.speakChunk=()=>{let a=this.state.chunkIndex;return new Promise((s,u)=>{var l,h,p,g;let S=this.chunks[a];if(!S){u();return}let f=window.getSelection(),m=document.createRange(),q=0,x=[...S.nodes];for(;x[0]&&q+((l=x[0].length)!==null&&l!==void 0?l:0)<this.state.chunkRangeOffset;)q+=(p=(h=x.shift())===null||h===void 0?void 0:h.length)!==null&&p!==void 0?p:0;let E=this.state.chunkRangeOffset-q,d=x.shift(),J=[(g=d?.nodeValue)===null||g===void 0?void 0:g.substring(E)].concat(x.map(y=>{var N;return(N=y.nodeValue)!==null&&N!==void 0?N:""})).join("");if(!J.trim()){s({skipped:!0});return}let W=this.getUtteranceOptions(S);if(!W.voice){s({skipped:!0});return}this.currentUtterance=new SpeechSynthesisUtterance(J),this.currentUtterance.lang=S.language,Object.assign(this.currentUtterance,W),this.currentUtterance.onpause=()=>this.setState({playing:!1});let I=0,T=this.state.chunkRangeOffset;this.currentUtterance.onboundary=y=>{var N,G,_;if(y.name==="word"){for(T=q+E+y.charIndex,this.setState({chunkRangeOffset:T},{suppressEvents:!0}),d?.parentElement&&this.state.scrollEnabled&&R(d.parentElement);x.length&&y.charIndex+E>=I+((N=d?.length)!==null&&N!==void 0?N:0);)I+=(G=d?.length)!==null&&G!==void 0?G:0,d=x.shift();if(!this.state.settingsShown){let Q=y?.charIndex-I+E,M=y?.currentTarget,nt=M&&"text"in M&&typeof M.text=="string"?M.text.substring(y.charIndex).replace(/\s[\s\S]+/,""):"";if(f?.removeAllRanges(),!d)return;m.setStart(d,Q),m.setEnd(d,Math.min(Q+nt.length,(_=d.length)!==null&&_!==void 0?_:0)),this.playbackAddedRange=m,f?.addRange(m)}}};let at=()=>{if(this.currentUtterance=null,this.state.settingsShown||f?.removeAllRanges(),this.voicePropChanged){this.voicePropChanged=!1,u("voice_prop_changed");return}if(this.state.chunkIndex!==a){u("chunk_change");return}if(T!==this.state.chunkRangeOffset){u("chunk_change");return}if(!this.state.playing){u("playback_stopped");return}if(x.length!==0){u("playback_interrupted");return}s()};this.currentUtterance.onend=at,this.currentUtterance.onerror=()=>{this.voicePropChanged&&(this.voicePropChanged=!1)},speechSynthesis.speak(this.currentUtterance),d?.parentElement&&this.state.scrollEnabled&&R(d.parentElement)})},this.updateContainsSelectionState=()=>{let a=window.getSelection();if(a?.rangeCount!==0){let s=a?.getRangeAt(0),u={containsSelection:!1};try{u.containsSelection=!!s&&(this.rootElement.contains(s.startContainer)||this.rootElement.contains(s.endContainer))}catch{}if(this.state.playing&&this.playbackAddedRange&&s&&!Y(s,this.playbackAddedRange)){let l=j(this.chunks,s);l&&Object.assign(u,l)}this.setState(u)}},this.handleEscapeKeydown=a=>{this.state.playing&&ct===a.which&&!this.state.settingsShown&&this.stop()},this.handleVoicesChanged=()=>{this.setState(Object.assign(Object.assign({},this.state),{chunksVoiceAvailability:ze({chunks:this.chunks,voices:this.getAvailableVoices(),fallbackToEnglish:this.state.fallbackToEnglish})}))},this.play=()=>{let a={playing:!0},s=j(this.chunks);s?Object.assign(a,s):this.state.chunkIndex+1===this.chunks.length&&(a.chunkIndex=0,a.chunkRangeOffset=0),this.setState(a)},this.startPlayingCurrentChunkAndQueueNext=()=>{this.state.speakTimeoutId&&clearTimeout(this.state.speakTimeoutId);let a=l=>{(!l||l==="playback_interrupted"||l==="playback_completed")&&this.setState({playing:!1})},s=new Promise(l=>{speechSynthesis.speaking?(this.currentUtterance&&this.currentUtterance.addEventListener("end",()=>l()),setTimeout(l,100),speechSynthesis.cancel()):l()}),u=(l={})=>{if(this.state.chunkIndex+1===this.chunks.length){a("playback_completed");return}let h=this.chunks[this.state.chunkIndex],p=this.chunks[this.state.chunkIndex+1],g=Ye(h,p,this.state.rate),S=this.state.chunkIndex;this.setState({speakTimeoutId:setTimeout(()=>{this.setState({chunkIndex:S+1,chunkRangeOffset:0})},l.skipPause?0:g)})};Promise.all([s]).then(()=>{this.setState({speakTimeoutId:setTimeout(()=>{this.speakChunk().then(l=>u({skipPause:l?.skipped}),a)})})},a)},this.previous=()=>{let a={chunkRangeOffset:0};this.state.chunkRangeOffset<ht&&(a.chunkIndex=Math.max(this.state.chunkIndex-1,0)),this.setState(a)},this.next=()=>{if(this.state.chunkIndex+1===this.chunks.length)return;let a={chunkIndex:this.state.chunkIndex+1,chunkRangeOffset:0};this.setState(a)},this.pause=()=>{this.setState({playing:!1})},this.stop=()=>{var a;this.setState({playing:!1});let s={chunkIndex:0,chunkRangeOffset:0};this.setState(s,{suppressEvents:!0}),(a=window.getSelection())===null||a===void 0||a.removeAllRanges()},this.setScrollEnabled=a=>{this.setState({scrollEnabled:a})},this.destroy=()=>{this.state.playing&&speechSynthesis.cancel(),document.removeEventListener("selectionchange",this.updateContainsSelectionState),document.removeEventListener("keydown",this.handleEscapeKeydown),speechSynthesis.removeEventListener("voiceschanged",this.handleVoicesChanged)},this.onSharedStateChange=o,this.onPlayChange=r,this._renderControls=c,this.rootElement=t,this.useDashicons=!1,this.currentUtterance=null,this.hasRenderedControls=!1,this.voicePropChanged=!1,this.chunks=[],this.state={containsSelection:!1,settingsShown:!1,speakTimeoutId:null,playing:!1,chunkIndex:0,chunkRangeOffset:0,languageVoices:{},pitch:1,rate:k.Normal,volume:1,scrollEnabled:!0,fallbackToEnglish:i,chunksVoiceAvailability:null,issueFlags:Ze()},Object.assign(this.state,n)}},ct=27,ht=10;var O="tts-state",Xe={pitch:1,rate:k.Normal};function $e(e){localStorage.setItem(O,JSON.stringify(e))}function z(){var e;let t=Xe;if(!localStorage.getItem(O))return t;try{let n=JSON.parse((e=localStorage.getItem(O))!==null&&e!==void 0?e:"");for(let i of Object.keys(Xe))typeof n[i]<"u"&&(t[i]=n[i])}catch{localStorage.removeItem(O)}return t}function et(e){window.addEventListener("storage",t=>{O!==t.key||t.storageArea!==localStorage||e(z())})}function tt({rootElement:e,fallbackToEnglishIfPreferredLanguageIsMissing:t=!0,renderControls:n}){if(typeof speechSynthesis>"u"||typeof SpeechSynthesisUtterance>"u")return;et(r=>{for(let c of v.values())c.setState(r)});let i=new MutationObserver(r=>{for(let c of r)for(let a of[...c.removedNodes].filter(s=>s.nodeType===Node.ELEMENT_NODE))ft({element:a})}),o=()=>{window.addEventListener("unload",()=>{speechSynthesis.cancel()}),dt({element:e,fallbackToEnglish:t,renderControls:n}),i.observe(e,{childList:!0,subtree:!0})};return document.readyState==="complete"?o():document.addEventListener("DOMContentLoaded",o),()=>{speechSynthesis.cancel();for(let r of v.values())r.destroy()}}var v=new Map;function dt({element:e,fallbackToEnglish:t,renderControls:n}){let i=L(e);for(let o of i){if(v.has(o))continue;let r=z(),c=new C({rootElement:o,initialState:r,fallbackToEnglish:t,renderControls:n,onPlayChange:a=>{if(a)for(let s of v.values())s!==c&&s.stop()},onSharedStateChange:a=>{$e(a);for(let s of v.values())s!==c&&s.setState(a)}});v.set(o,c),c.initialize()}}function ft({element:e}){let t=L(e);for(let n of t){let i=v.get(n);i&&(i.destroy(),v.delete(n))}}window.initializeTts=tt;window.initializeTts.version="2.0.1";})();

