diff --git a/404.html b/404.html index f300649..a998e5c 100644 --- a/404.html +++ b/404.html @@ -30,11 +30,11 @@ Navigator Jyutping - - + + -
跳至主要內容

404

頁面不存在

這裡什麼也沒有

- +
跳至主要內容

404

頁面不存在

看起来你訪問了一個失效的鏈結

+ diff --git a/about.html b/about.html index 91c96ee..b489283 100644 --- a/about.html +++ b/about.html @@ -30,11 +30,11 @@ 關於 | Navigator Jyutping - - + + -
跳至主要內容

關於本站

Navigator Jyutping

鳴謝

本站音頻由粵語審音配詞字庫open in new window提供

本站内容大量參考了來自粵語計算語言學基礎建設組 (CanCLID)的Jyutping.orgopen in new window站點内容,對此組織的工作致以衷心感謝!

粵語計算語言學基礎建設組 (CanCLID)

Cantonese Computational Linguistics Infrastructure Development Workgroup

本站于聲調辨別一頁所采用的圖片是由冚唪唥粵文open in new window所做跳跳紮拼音轉換器open in new window生成

冚唪唥粵文

Viveik Mohan Saigal 同 Chaak Ming Lau 博士的個人倡議計劃

本站所采用方案為香港語言學學會方案。

香港語言學學會
香港語言學學會
- +
跳至主要內容

關於本站

Navigator Jyutping

鳴謝

本站現時正在收集各類意見,歡迎粵語母語者,粵語學習者和使用者,内地用家致信提供建議 點此發送郵件

本站音頻由粵語審音配詞字庫open in new window提供

本站内容大量參考了來自粵語計算語言學基礎建設組 (CanCLID)的Jyutping.orgopen in new window站點内容,對此組織的工作致以衷心感謝!

粵語計算語言學基礎建設組 (CanCLID)

Cantonese Computational Linguistics Infrastructure Development Workgroup

本站于聲調辨別一頁所采用的圖片是由冚唪唥粵文open in new window所做跳跳紮拼音轉換器open in new window生成

冚唪唥粵文

Viveik Mohan Saigal 同 Chaak Ming Lau 博士的個人倡議計劃

本站所采用方案為香港語言學學會方案。

香港語言學學會
香港語言學學會
+ diff --git a/assets/404.html-BmxPX5mN.js b/assets/404.html-BPKNBPCz.js similarity index 86% rename from assets/404.html-BmxPX5mN.js rename to assets/404.html-BPKNBPCz.js index d50e5d5..a6020c4 100644 --- a/assets/404.html-BmxPX5mN.js +++ b/assets/404.html-BPKNBPCz.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,a}from"./app-HW7jk_p0.js";const n={},r=a("p",null,"404 Not Found",-1),s=[r];function c(l,_){return e(),o("div",null,s)}const d=t(n,[["render",c],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"zh-TW","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null}');export{d as comp,h as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,a}from"./app-BoGlXVck.js";const n={},r=a("p",null,"404 Not Found",-1),s=[r];function c(l,_){return e(),o("div",null,s)}const d=t(n,[["render",c],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"zh-TW","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null}');export{d as comp,h as data}; diff --git a/assets/about.html-4stHj2OZ.js b/assets/about.html-4stHj2OZ.js deleted file mode 100644 index 56977b0..0000000 --- a/assets/about.html-4stHj2OZ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as i,c as s,a as e,b as t,d as a}from"./app-HW7jk_p0.js";const c={},h=e("h2",{id:"鳴謝",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#鳴謝"},[e("span",null,"鳴謝")])],-1),p={href:"https://humanum.arts.cuhk.edu.hk/Lexis/lexi-can/",target:"_blank",rel:"noopener noreferrer"},u={href:"https://jyutping.org/",target:"_blank",rel:"noopener noreferrer"},g=e("a",{href:"practice/tone_difference"},"聲調辨別",-1),d={href:"https://hambaanglaang.hk/",target:"_blank",rel:"noopener noreferrer"},_={href:"http://test.hambaanglaang.hk/",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,"本站所采用方案為香港語言學學會方案。",-1),f=e("figure",null,[e("img",{src:"https://lshk.org/wp-content/uploads/2022/11/blankLSHK_banner-1024x219.png",alt:"香港語言學學會",tabindex:"0",loading:"lazy"}),e("figcaption",null,"香港語言學學會")],-1);function k(b,C){const n=r("ExternalLinkIcon"),o=r("VPCard");return i(),s("div",null,[h,e("p",null,[t("本站音頻由"),e("a",p,[t("粵語審音配詞字庫"),a(n)]),t("提供")]),e("p",null,[t("本站内容大量參考了來自粵語計算語言學基礎建設組 (CanCLID)的"),e("a",u,[t("Jyutping.org"),a(n)]),t("站點内容,對此組織的工作致以衷心感謝!")]),a(o,{title:"粵語計算語言學基礎建設組 (CanCLID)",desc:"Cantonese Computational Linguistics Infrastructure Development Workgroup",logo:"https://avatars.githubusercontent.com/u/68556084?s=200&v=4",link:"https://github.com/CanCLID",background:"white"}),e("p",null,[t("本站于"),g,t("一頁所采用的圖片是由"),e("a",d,[t("冚唪唥粵文"),a(n)]),t("所做"),e("a",_,[t("跳跳紮拼音轉換器"),a(n)]),t("生成")]),a(o,{title:"冚唪唥粵文",desc:"Viveik Mohan Saigal 同 Chaak Ming Lau 博士的個人倡議計劃",logo:"https://words.hk/static/learn/hambaanglaang.png",link:"https://hambaanglaang.hk/",background:"white"}),m,f])}const L=l(c,[["render",k],["__file","about.html.vue"]]),I=JSON.parse('{"path":"/about.html","title":"關於","lang":"zh-TW","frontmatter":{"title":"關於","icon":"circle-info","home":true,"heroText":"關於本站","tagline":"Navigator Jyutping"},"headers":[{"level":2,"title":"鳴謝","slug":"鳴謝","link":"#鳴謝","children":[]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":0.72,"words":216},"filePathRelative":"about.md","localizedDate":"2024年3月22日"}');export{L as comp,I as data}; diff --git a/assets/about.html-B2T2gf7e.js b/assets/about.html-B2T2gf7e.js new file mode 100644 index 0000000..6b912f4 --- /dev/null +++ b/assets/about.html-B2T2gf7e.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as i,c as s,a as e,b as t,d as a}from"./app-BoGlXVck.js";const c={},h=e("h2",{id:"鳴謝",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#鳴謝"},[e("span",null,"鳴謝")])],-1),u=e("p",null,[t("本站現時正在收集各類意見,歡迎粵語母語者,粵語學習者和使用者,内地用家致信提供建議 "),e("a",{href:"mailto:Guanzhang.WANG@my.cityu.edu.hk"},"點此發送郵件")],-1),p={href:"https://humanum.arts.cuhk.edu.hk/Lexis/lexi-can/",target:"_blank",rel:"noopener noreferrer"},d={href:"https://jyutping.org/",target:"_blank",rel:"noopener noreferrer"},g=e("a",{href:"practice/tone_difference"},"聲調辨別",-1),_={href:"https://hambaanglaang.hk/",target:"_blank",rel:"noopener noreferrer"},m={href:"http://test.hambaanglaang.hk/",target:"_blank",rel:"noopener noreferrer"},f=e("p",null,"本站所采用方案為香港語言學學會方案。",-1),k=e("figure",null,[e("img",{src:"https://lshk.org/wp-content/uploads/2022/11/blankLSHK_banner-1024x219.png",alt:"香港語言學學會",tabindex:"0",loading:"lazy"}),e("figcaption",null,"香港語言學學會")],-1);function b(C,v){const n=r("ExternalLinkIcon"),o=r("VPCard");return i(),s("div",null,[h,u,e("p",null,[t("本站音頻由"),e("a",p,[t("粵語審音配詞字庫"),a(n)]),t("提供")]),e("p",null,[t("本站内容大量參考了來自粵語計算語言學基礎建設組 (CanCLID)的"),e("a",d,[t("Jyutping.org"),a(n)]),t("站點内容,對此組織的工作致以衷心感謝!")]),a(o,{title:"粵語計算語言學基礎建設組 (CanCLID)",desc:"Cantonese Computational Linguistics Infrastructure Development Workgroup",logo:"https://avatars.githubusercontent.com/u/68556084?s=200&v=4",link:"https://github.com/CanCLID",background:"white"}),e("p",null,[t("本站于"),g,t("一頁所采用的圖片是由"),e("a",_,[t("冚唪唥粵文"),a(n)]),t("所做"),e("a",m,[t("跳跳紮拼音轉換器"),a(n)]),t("生成")]),a(o,{title:"冚唪唥粵文",desc:"Viveik Mohan Saigal 同 Chaak Ming Lau 博士的個人倡議計劃",logo:"https://words.hk/static/learn/hambaanglaang.png",link:"https://hambaanglaang.hk/",background:"white"}),f,k])}const y=l(c,[["render",b],["__file","about.html.vue"]]),I=JSON.parse('{"path":"/about.html","title":"關於","lang":"zh-TW","frontmatter":{"title":"關於","icon":"circle-info","home":true,"heroText":"關於本站","tagline":"Navigator Jyutping"},"headers":[{"level":2,"title":"鳴謝","slug":"鳴謝","link":"#鳴謝","children":[]}],"git":{"createdTime":1711123984000,"updatedTime":1711187403000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.87,"words":262},"filePathRelative":"about.md","localizedDate":"2024年3月22日"}');export{y as comp,I as data}; diff --git a/assets/app-HW7jk_p0.js b/assets/app-BoGlXVck.js similarity index 98% rename from assets/app-HW7jk_p0.js rename to assets/app-BoGlXVck.js index 8dca1aa..7360454 100644 --- a/assets/app-HW7jk_p0.js +++ b/assets/app-BoGlXVck.js @@ -1,6 +1,6 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/index.html-uM4zh32R.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/about.html-4stHj2OZ.js","assets/index.html-0J3fxd98.js","assets/compare.html-DilDUPo4.js","assets/Jyutping-OPLPt_jc.js","assets/jsrs.html-DqNBEUxY.js","assets/index.html-SCjkz9pv.js","assets/game.html-DMdR7Nkb.js","assets/tone_difference.html-CZnb2W33.js","assets/index.html-CkoR8-Aq.js","assets/particles.html-5d7IZEjh.js","assets/typo.html-D-DRAGhi.js","assets/index.html-BLJ3dzYZ.js","assets/resource.html-CB5Qi8DI.js","assets/index.html-DMPzDHYG.js","assets/week0.html-oRcgv7SD.js","assets/week1.html-CEbpt8jT.js","assets/week10.html-D-O2NsSG.js","assets/week2.html-BgdL78bB.js","assets/week3.html-OAp0iSf9.js","assets/week4.html-D8TmOWCY.js","assets/week5.html-8hS2VeMa.js","assets/week6.html-TcKLgJJo.js","assets/week7.html-B8FtAlWk.js","assets/week8.html-D57EbsgR.js","assets/week9.html-Dxjx5m9N.js","assets/404.html-BmxPX5mN.js","assets/vidstack-player-r0CjzTIp.js","assets/vidstack-D1JzjGR7-DAkoqXK2.js","assets/vidstack-player-layouts-1puRE4cN.js","assets/vidstack-CbhL8rpf-C0Lj70YY.js","assets/vidstack-player-ui-BD4X0Ly7.js"] + __vite__mapDeps.viteFileDeps = ["assets/index.html-BCPoDGXw.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/about.html-B2T2gf7e.js","assets/index.html-nDsnwHZO.js","assets/compare.html-CHvK9EqE.js","assets/Jyutping-OPLPt_jc.js","assets/jsrs.html-C_kacQZy.js","assets/index.html-S8KbRBCr.js","assets/game.html-BySDj7u0.js","assets/tone_difference.html-c9zqykEc.js","assets/index.html-C9kiyTqK.js","assets/particles.html-BLtOrMas.js","assets/typo.html-zFIYtGTO.js","assets/index.html-DrqVnwqX.js","assets/resource.html-BO4ajh9K.js","assets/index.html-BJzQSwCd.js","assets/week0.html-B2ORbzLt.js","assets/week1.html-7Xa06GE1.js","assets/week10.html-s5vRrH36.js","assets/week2.html-D2LxHT6R.js","assets/week3.html-CXnUcx_-.js","assets/week4.html-DoQ-f1me.js","assets/week5.html-u8j5L0O7.js","assets/week6.html-D1Fvls-7.js","assets/week7.html-C8WLGo29.js","assets/week8.html-y3drNyPM.js","assets/week9.html-ByNo0ZWC.js","assets/404.html-BPKNBPCz.js","assets/vidstack-player-D_oHjycC.js","assets/vidstack-D1JzjGR7-BUOnk6-S.js","assets/vidstack-player-layouts-7M5XCWBh.js","assets/vidstack-CbhL8rpf-C0Lj70YY.js","assets/vidstack-player-ui-FKGFxmC6.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } @@ -20,11 +20,11 @@ function __vite__mapDeps(indexes) { * @vue/runtime-dom v3.4.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const If="http://www.w3.org/2000/svg",Rf="http://www.w3.org/1998/Math/MathML",At=typeof document<"u"?document:null,sl=At&&At.createElement("template"),Pf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?At.createElementNS(If,e):t==="mathml"?At.createElementNS(Rf,e):At.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>At.createTextNode(e),createComment:e=>At.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>At.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const l=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{sl.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=sl.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ct="transition",xn="animation",vn=Symbol("_vtc"),$t=(e,{slots:t})=>f(Du,Qa(e),t);$t.displayName="Transition";const Xa={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Of=$t.props=Ee({},Ra,Xa),Bt=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},ll=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function Qa(e){const t={};for(const M in e)M in Xa||(t[M]=e[M]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=s,appearActiveClass:c=l,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,g=$f(o),E=g&&g[0],_=g&&g[1],{onBeforeEnter:y,onEnter:C,onEnterCancelled:b,onLeave:S,onLeaveCancelled:D,onBeforeAppear:k=y,onAppear:N=C,onAppearCancelled:P=b}=t,K=(M,X,ye)=>{kt(M,X?u:a),kt(M,X?c:l),ye&&ye()},R=(M,X)=>{M._isLeaving=!1,kt(M,d),kt(M,v),kt(M,p),X&&X()},Y=M=>(X,ye)=>{const _e=M?N:C,q=()=>K(X,M,ye);Bt(_e,[X,q]),al(()=>{kt(X,M?i:s),ht(X,M?u:a),ll(_e)||il(X,r,E,q)})};return Ee(t,{onBeforeEnter(M){Bt(y,[M]),ht(M,s),ht(M,l)},onBeforeAppear(M){Bt(k,[M]),ht(M,i),ht(M,c)},onEnter:Y(!1),onAppear:Y(!0),onLeave(M,X){M._isLeaving=!0;const ye=()=>R(M,X);ht(M,d),ei(),ht(M,p),al(()=>{M._isLeaving&&(kt(M,d),ht(M,v),ll(S)||il(M,r,_,ye))}),Bt(S,[M,ye])},onEnterCancelled(M){K(M,!1),Bt(b,[M])},onAppearCancelled(M){K(M,!0),Bt(P,[M])},onLeaveCancelled(M){R(M),Bt(D,[M])}})}function $f(e){if(e==null)return null;if(me(e))return[io(e.enter),io(e.leave)];{const t=io(e);return[t,t]}}function io(e){return Nc(e)}function ht(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[vn]||(e[vn]=new Set)).add(t)}function kt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[vn];n&&(n.delete(t),n.size||(e[vn]=void 0))}function al(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mf=0;function il(e,t,n,r){const o=e._endId=++Mf,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:l,timeout:a,propCount:i}=Za(e,t);if(!l)return r();const c=l+"end";let u=0;const d=()=>{e.removeEventListener(c,p),s()},p=v=>{v.target===e&&++u>=i&&d()};setTimeout(()=>{u(n[g]||"").split(", "),o=r(`${Ct}Delay`),s=r(`${Ct}Duration`),l=cl(o,s),a=r(`${xn}Delay`),i=r(`${xn}Duration`),c=cl(a,i);let u=null,d=0,p=0;t===Ct?l>0&&(u=Ct,d=l,p=s.length):t===xn?c>0&&(u=xn,d=c,p=i.length):(d=Math.max(l,c),u=d>0?l>c?Ct:xn:null,p=u?u===Ct?s.length:i.length:0);const v=u===Ct&&/\b(transform|all)(,|$)/.test(r(`${Ct}Property`).toString());return{type:u,timeout:d,propCount:p,hasTransform:v}}function cl(e,t){for(;e.lengthul(n)+ul(e[r])))}function ul(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ei(){return document.body.offsetHeight}function Nf(e,t,n){const r=e[vn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const fl=Symbol("_vod"),Df=Symbol("_vsh"),Hf=Symbol(""),Ff=/(^|;)\s*display\s*:/;function Bf(e,t,n){const r=e.style,o=Ae(n);let s=!1;if(n&&!o){if(t)if(Ae(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();n[a]==null&&Ir(r,a,"")}else for(const l in t)n[l]==null&&Ir(r,l,"");for(const l in n)l==="display"&&(s=!0),Ir(r,l,n[l])}else if(o){if(t!==n){const l=r[Hf];l&&(n+=";"+l),r.cssText=n,s=Ff.test(n)}}else t&&e.removeAttribute("style");fl in e&&(e[fl]=s?r.display:"",e[Df]&&(r.display="none"))}const dl=/\s*!important$/;function Ir(e,t,n){if(Z(n))n.forEach(r=>Ir(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=jf(e,t);dl.test(n)?e.setProperty(yn(r),n.replace(dl,""),"important"):e[r]=n}}const pl=["Webkit","Moz","ms"],co={};function jf(e,t){const n=co[t];if(n)return n;let r=et(t);if(r!=="filter"&&r in e)return co[t]=r;r=Zn(r);for(let o=0;ouo||(Kf.then(()=>uo=0),uo=Date.now());function Jf(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Qe(Xf(r,n.value),t,5,[r])};return n.value=e,n.attached=Yf(),n}function Xf(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const gl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Qf=(e,t,n,r,o,s,l,a,i)=>{const c=o==="svg";t==="class"?Nf(e,r,c):t==="style"?Bf(e,n,r):Qn(t)?Uo(t)||qf(e,t,n,r,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zf(e,t,r,c))?zf(e,t,r,s,l,a,i):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Vf(e,t,r,c))};function Zf(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&gl(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return gl(t)&&Ae(n)?!1:t in e}const ti=new WeakMap,ni=new WeakMap,Fr=Symbol("_moveCb"),bl=Symbol("_enterCb"),ri={name:"TransitionGroup",props:Ee({},Of,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=or(),r=Ia();let o,s;return $a(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!sd(o[0].el,n.vnode.el,l))return;o.forEach(nd),o.forEach(rd);const a=o.filter(od);ei(),a.forEach(i=>{const c=i.el,u=c.style;ht(c,l),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[Fr]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",d),c[Fr]=null,kt(c,l))};c.addEventListener("transitionend",d)})}),()=>{const l=oe(e),a=Qa(l);let i=l.tag||Ge;o=s,s=t.default?as(t.default()):[];for(let c=0;cdelete e.mode;ri.props;const td=ri;function nd(e){const t=e.el;t[Fr]&&t[Fr](),t[bl]&&t[bl]()}function rd(e){ni.set(e,e.el.getBoundingClientRect())}function od(e){const t=ti.get(e),n=ni.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const s=e.el.style;return s.transform=s.webkitTransform=`translate(${r}px,${o}px)`,s.transitionDuration="0s",e}}function sd(e,t,n){const r=e.cloneNode(),o=e[vn];o&&o.forEach(a=>{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:l}=Za(r);return s.removeChild(r),l}const ld=Ee({patchProp:Qf},Pf);let fo,yl=!1;function ad(){return fo=yl?fo:ff(ld),yl=!0,fo}const id=(...e)=>{const t=ad().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=ud(r);if(o)return n(o,!0,cd(o))},t};function cd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ud(e){return Ae(e)?document.querySelector(e):e}var fd=["link","meta","script","style","noscript","template"],dd=["title","base"],pd=([e,t,n])=>dd.includes(e)?e:fd.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,hd=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=pd(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},vd=e=>e[0]==="/"?e:`/${e}`,oi=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Nt=e=>/^(https?:)?\/\//.test(e),md=/.md((\?|#).*)?$/,mn=(e,t="/")=>!!(Nt(e)||e.startsWith("/")&&!e.startsWith(t)&&!md.test(e)),si=e=>/^[a-z][a-z0-9+.-]*:/.test(e),ar=e=>Object.prototype.toString.call(e)==="[object Object]",gd=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},ds=e=>e[e.length-1]==="/"?e.slice(0,-1):e,li=e=>e[0]==="/"?e.slice(1):e,bd=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},we=e=>typeof e=="string";const yd="modulepreload",_d=function(e){return"/navigator_jyutping/"+e},_l={},ce=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");o=Promise.all(n.map(l=>{if(l=_d(l),l in _l)return;_l[l]=!0;const a=l.endsWith(".css"),i=a?'[rel="stylesheet"]':"";if(!!r)for(let d=s.length-1;d>=0;d--){const p=s[d];if(p.href===l&&(!a||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${i}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":yd,a||(u.as="script",u.crossOrigin=""),u.href=l,document.head.appendChild(u),a)return new Promise((d,p)=>{u.addEventListener("load",d),u.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}return o.then(()=>t()).catch(s=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s})},wd=JSON.parse("{}"),Ed=Object.fromEntries([["/",{loader:()=>ce(()=>import("./index.html-uM4zh32R.js"),__vite__mapDeps([0,1])),meta:{y:"h",t:"首頁",i:"home"}}],["/about.html",{loader:()=>ce(()=>import("./about.html-4stHj2OZ.js"),__vite__mapDeps([2,1])),meta:{y:"h",t:"關於",i:"circle-info"}}],["/learning/",{loader:()=>ce(()=>import("./index.html-0J3fxd98.js"),__vite__mapDeps([3,1])),meta:{y:"a",t:"粵拼學習",i:"book"}}],["/learning/compare.html",{loader:()=>ce(()=>import("./compare.html-DilDUPo4.js"),__vite__mapDeps([4,5,1])),meta:{y:"a",t:"基於漢語拼音的粵拼學習",i:"book"}}],["/learning/jsrs.html",{loader:()=>ce(()=>import("./jsrs.html-DqNBEUxY.js"),__vite__mapDeps([6,1])),meta:{y:"a",t:"香港語言學學會粵語拼音方案",i:"book"}}],["/practice/",{loader:()=>ce(()=>import("./index.html-SCjkz9pv.js"),__vite__mapDeps([7,1])),meta:{y:"a",t:"粵拼練習",i:"highlighter"}}],["/practice/game.html",{loader:()=>ce(()=>import("./game.html-DMdR7Nkb.js"),__vite__mapDeps([8,1])),meta:{y:"a",t:"游戲式練習",i:"puzzle-piece"}}],["/practice/tone_difference.html",{loader:()=>ce(()=>import("./tone_difference.html-CZnb2W33.js"),__vite__mapDeps([9,5,1])),meta:{y:"a",t:"聲調辨別",i:"clipboard-check"}}],["/research/",{loader:()=>ce(()=>import("./index.html-CkoR8-Aq.js"),__vite__mapDeps([10,1])),meta:{y:"a",t:"説文解字",i:"person-chalkboard"}}],["/research/particles.html",{loader:()=>ce(()=>import("./particles.html-5d7IZEjh.js"),__vite__mapDeps([11,1])),meta:{y:"a",t:"粵語語氣詞",i:"comment-dots"}}],["/research/typo.html",{loader:()=>ce(()=>import("./typo.html-D-DRAGhi.js"),__vite__mapDeps([12,1])),meta:{y:"a",t:"常見錯別字",i:"align-center"}}],["/resource/",{loader:()=>ce(()=>import("./index.html-BLJ3dzYZ.js"),__vite__mapDeps([13,1])),meta:{y:"a",t:"資源共享",i:"laptop-code"}}],["/resource/resource.html",{loader:()=>ce(()=>import("./resource.html-CB5Qi8DI.js"),__vite__mapDeps([14,1])),meta:{y:"a",t:"資源站點",i:"laptop-code"}}],["/resource/10weeks/",{loader:()=>ce(()=>import("./index.html-DMPzDHYG.js"),__vite__mapDeps([15,1])),meta:{y:"a",t:"10周學粵拼",i:"laptop-code"}}],["/resource/10weeks/week0.html",{loader:()=>ce(()=>import("./week0.html-oRcgv7SD.js"),__vite__mapDeps([16,1])),meta:{y:"a",t:"Week00 - Introduction",i:"laptop-code"}}],["/resource/10weeks/week1.html",{loader:()=>ce(()=>import("./week1.html-CEbpt8jT.js"),__vite__mapDeps([17,1])),meta:{y:"a",t:"Week01 - Lesson1",i:"laptop-code"}}],["/resource/10weeks/week10.html",{loader:()=>ce(()=>import("./week10.html-D-O2NsSG.js"),__vite__mapDeps([18,1])),meta:{y:"a",t:"Week10 - Lesson10 & Revision",i:"laptop-code"}}],["/resource/10weeks/week2.html",{loader:()=>ce(()=>import("./week2.html-BgdL78bB.js"),__vite__mapDeps([19,1])),meta:{y:"a",t:"Week02 - Lesson2",i:"laptop-code"}}],["/resource/10weeks/week3.html",{loader:()=>ce(()=>import("./week3.html-OAp0iSf9.js"),__vite__mapDeps([20,1])),meta:{y:"a",t:"Week03 - Lesson3",i:"laptop-code"}}],["/resource/10weeks/week4.html",{loader:()=>ce(()=>import("./week4.html-D8TmOWCY.js"),__vite__mapDeps([21,1])),meta:{y:"a",t:"Week04 - Lesson4",i:"laptop-code"}}],["/resource/10weeks/week5.html",{loader:()=>ce(()=>import("./week5.html-8hS2VeMa.js"),__vite__mapDeps([22,1])),meta:{y:"a",t:"Week05 - Lesson5",i:"laptop-code"}}],["/resource/10weeks/week6.html",{loader:()=>ce(()=>import("./week6.html-TcKLgJJo.js"),__vite__mapDeps([23,1])),meta:{y:"a",t:"Week06 - Lesson6",i:"laptop-code"}}],["/resource/10weeks/week7.html",{loader:()=>ce(()=>import("./week7.html-B8FtAlWk.js"),__vite__mapDeps([24,1])),meta:{y:"a",t:"Week07 - Lesson7",i:"laptop-code"}}],["/resource/10weeks/week8.html",{loader:()=>ce(()=>import("./week8.html-D57EbsgR.js"),__vite__mapDeps([25,1])),meta:{y:"a",t:"Week08 - Lesson8",i:"laptop-code"}}],["/resource/10weeks/week9.html",{loader:()=>ce(()=>import("./week9.html-Dxjx5m9N.js"),__vite__mapDeps([26,1])),meta:{y:"a",t:"Week09 - Lesson9",i:"laptop-code"}}],["/404.html",{loader:()=>ce(()=>import("./404.html-BmxPX5mN.js"),__vite__mapDeps([27,1])),meta:{y:"p",t:""}}]]);/*! +**/const If="http://www.w3.org/2000/svg",Rf="http://www.w3.org/1998/Math/MathML",At=typeof document<"u"?document:null,sl=At&&At.createElement("template"),Pf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?At.createElementNS(If,e):t==="mathml"?At.createElementNS(Rf,e):At.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>At.createTextNode(e),createComment:e=>At.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>At.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const l=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{sl.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=sl.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ct="transition",xn="animation",vn=Symbol("_vtc"),$t=(e,{slots:t})=>f(Du,Qa(e),t);$t.displayName="Transition";const Xa={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Of=$t.props=Ee({},Ra,Xa),Bt=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},ll=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function Qa(e){const t={};for(const M in e)M in Xa||(t[M]=e[M]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=s,appearActiveClass:c=l,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,g=$f(o),E=g&&g[0],_=g&&g[1],{onBeforeEnter:y,onEnter:C,onEnterCancelled:b,onLeave:S,onLeaveCancelled:D,onBeforeAppear:k=y,onAppear:N=C,onAppearCancelled:P=b}=t,K=(M,X,ye)=>{kt(M,X?u:a),kt(M,X?c:l),ye&&ye()},R=(M,X)=>{M._isLeaving=!1,kt(M,d),kt(M,v),kt(M,p),X&&X()},Y=M=>(X,ye)=>{const _e=M?N:C,q=()=>K(X,M,ye);Bt(_e,[X,q]),al(()=>{kt(X,M?i:s),ht(X,M?u:a),ll(_e)||il(X,r,E,q)})};return Ee(t,{onBeforeEnter(M){Bt(y,[M]),ht(M,s),ht(M,l)},onBeforeAppear(M){Bt(k,[M]),ht(M,i),ht(M,c)},onEnter:Y(!1),onAppear:Y(!0),onLeave(M,X){M._isLeaving=!0;const ye=()=>R(M,X);ht(M,d),ei(),ht(M,p),al(()=>{M._isLeaving&&(kt(M,d),ht(M,v),ll(S)||il(M,r,_,ye))}),Bt(S,[M,ye])},onEnterCancelled(M){K(M,!1),Bt(b,[M])},onAppearCancelled(M){K(M,!0),Bt(P,[M])},onLeaveCancelled(M){R(M),Bt(D,[M])}})}function $f(e){if(e==null)return null;if(me(e))return[io(e.enter),io(e.leave)];{const t=io(e);return[t,t]}}function io(e){return Nc(e)}function ht(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[vn]||(e[vn]=new Set)).add(t)}function kt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[vn];n&&(n.delete(t),n.size||(e[vn]=void 0))}function al(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mf=0;function il(e,t,n,r){const o=e._endId=++Mf,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:l,timeout:a,propCount:i}=Za(e,t);if(!l)return r();const c=l+"end";let u=0;const d=()=>{e.removeEventListener(c,p),s()},p=v=>{v.target===e&&++u>=i&&d()};setTimeout(()=>{u(n[g]||"").split(", "),o=r(`${Ct}Delay`),s=r(`${Ct}Duration`),l=cl(o,s),a=r(`${xn}Delay`),i=r(`${xn}Duration`),c=cl(a,i);let u=null,d=0,p=0;t===Ct?l>0&&(u=Ct,d=l,p=s.length):t===xn?c>0&&(u=xn,d=c,p=i.length):(d=Math.max(l,c),u=d>0?l>c?Ct:xn:null,p=u?u===Ct?s.length:i.length:0);const v=u===Ct&&/\b(transform|all)(,|$)/.test(r(`${Ct}Property`).toString());return{type:u,timeout:d,propCount:p,hasTransform:v}}function cl(e,t){for(;e.lengthul(n)+ul(e[r])))}function ul(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ei(){return document.body.offsetHeight}function Nf(e,t,n){const r=e[vn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const fl=Symbol("_vod"),Df=Symbol("_vsh"),Hf=Symbol(""),Ff=/(^|;)\s*display\s*:/;function Bf(e,t,n){const r=e.style,o=Ae(n);let s=!1;if(n&&!o){if(t)if(Ae(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();n[a]==null&&Ir(r,a,"")}else for(const l in t)n[l]==null&&Ir(r,l,"");for(const l in n)l==="display"&&(s=!0),Ir(r,l,n[l])}else if(o){if(t!==n){const l=r[Hf];l&&(n+=";"+l),r.cssText=n,s=Ff.test(n)}}else t&&e.removeAttribute("style");fl in e&&(e[fl]=s?r.display:"",e[Df]&&(r.display="none"))}const dl=/\s*!important$/;function Ir(e,t,n){if(Z(n))n.forEach(r=>Ir(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=jf(e,t);dl.test(n)?e.setProperty(yn(r),n.replace(dl,""),"important"):e[r]=n}}const pl=["Webkit","Moz","ms"],co={};function jf(e,t){const n=co[t];if(n)return n;let r=et(t);if(r!=="filter"&&r in e)return co[t]=r;r=Zn(r);for(let o=0;ouo||(Kf.then(()=>uo=0),uo=Date.now());function Jf(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Qe(Xf(r,n.value),t,5,[r])};return n.value=e,n.attached=Yf(),n}function Xf(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const gl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Qf=(e,t,n,r,o,s,l,a,i)=>{const c=o==="svg";t==="class"?Nf(e,r,c):t==="style"?Bf(e,n,r):Qn(t)?Uo(t)||qf(e,t,n,r,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zf(e,t,r,c))?zf(e,t,r,s,l,a,i):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Vf(e,t,r,c))};function Zf(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&gl(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return gl(t)&&Ae(n)?!1:t in e}const ti=new WeakMap,ni=new WeakMap,Fr=Symbol("_moveCb"),bl=Symbol("_enterCb"),ri={name:"TransitionGroup",props:Ee({},Of,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=or(),r=Ia();let o,s;return $a(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!sd(o[0].el,n.vnode.el,l))return;o.forEach(nd),o.forEach(rd);const a=o.filter(od);ei(),a.forEach(i=>{const c=i.el,u=c.style;ht(c,l),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[Fr]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",d),c[Fr]=null,kt(c,l))};c.addEventListener("transitionend",d)})}),()=>{const l=oe(e),a=Qa(l);let i=l.tag||Ge;o=s,s=t.default?as(t.default()):[];for(let c=0;cdelete e.mode;ri.props;const td=ri;function nd(e){const t=e.el;t[Fr]&&t[Fr](),t[bl]&&t[bl]()}function rd(e){ni.set(e,e.el.getBoundingClientRect())}function od(e){const t=ti.get(e),n=ni.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const s=e.el.style;return s.transform=s.webkitTransform=`translate(${r}px,${o}px)`,s.transitionDuration="0s",e}}function sd(e,t,n){const r=e.cloneNode(),o=e[vn];o&&o.forEach(a=>{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:l}=Za(r);return s.removeChild(r),l}const ld=Ee({patchProp:Qf},Pf);let fo,yl=!1;function ad(){return fo=yl?fo:ff(ld),yl=!0,fo}const id=(...e)=>{const t=ad().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=ud(r);if(o)return n(o,!0,cd(o))},t};function cd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ud(e){return Ae(e)?document.querySelector(e):e}var fd=["link","meta","script","style","noscript","template"],dd=["title","base"],pd=([e,t,n])=>dd.includes(e)?e:fd.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,hd=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=pd(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},vd=e=>e[0]==="/"?e:`/${e}`,oi=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Nt=e=>/^(https?:)?\/\//.test(e),md=/.md((\?|#).*)?$/,mn=(e,t="/")=>!!(Nt(e)||e.startsWith("/")&&!e.startsWith(t)&&!md.test(e)),si=e=>/^[a-z][a-z0-9+.-]*:/.test(e),ar=e=>Object.prototype.toString.call(e)==="[object Object]",gd=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},ds=e=>e[e.length-1]==="/"?e.slice(0,-1):e,li=e=>e[0]==="/"?e.slice(1):e,bd=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},we=e=>typeof e=="string";const yd="modulepreload",_d=function(e){return"/navigator_jyutping/"+e},_l={},ce=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");o=Promise.all(n.map(l=>{if(l=_d(l),l in _l)return;_l[l]=!0;const a=l.endsWith(".css"),i=a?'[rel="stylesheet"]':"";if(!!r)for(let d=s.length-1;d>=0;d--){const p=s[d];if(p.href===l&&(!a||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${i}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":yd,a||(u.as="script",u.crossOrigin=""),u.href=l,document.head.appendChild(u),a)return new Promise((d,p)=>{u.addEventListener("load",d),u.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}return o.then(()=>t()).catch(s=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s})},wd=JSON.parse("{}"),Ed=Object.fromEntries([["/",{loader:()=>ce(()=>import("./index.html-BCPoDGXw.js"),__vite__mapDeps([0,1])),meta:{y:"h",t:"首頁",i:"home"}}],["/about.html",{loader:()=>ce(()=>import("./about.html-B2T2gf7e.js"),__vite__mapDeps([2,1])),meta:{y:"h",t:"關於",i:"circle-info"}}],["/learning/",{loader:()=>ce(()=>import("./index.html-nDsnwHZO.js"),__vite__mapDeps([3,1])),meta:{y:"a",t:"粵拼學習",i:"book"}}],["/learning/compare.html",{loader:()=>ce(()=>import("./compare.html-CHvK9EqE.js"),__vite__mapDeps([4,5,1])),meta:{y:"a",t:"基於漢語拼音的粵拼學習",i:"book"}}],["/learning/jsrs.html",{loader:()=>ce(()=>import("./jsrs.html-C_kacQZy.js"),__vite__mapDeps([6,1])),meta:{y:"a",t:"香港語言學學會粵語拼音方案",i:"book"}}],["/practice/",{loader:()=>ce(()=>import("./index.html-S8KbRBCr.js"),__vite__mapDeps([7,1])),meta:{y:"a",t:"粵拼練習",i:"highlighter"}}],["/practice/game.html",{loader:()=>ce(()=>import("./game.html-BySDj7u0.js"),__vite__mapDeps([8,1])),meta:{y:"a",t:"游戲式練習",i:"puzzle-piece"}}],["/practice/tone_difference.html",{loader:()=>ce(()=>import("./tone_difference.html-c9zqykEc.js"),__vite__mapDeps([9,5,1])),meta:{y:"a",t:"聲調辨別",i:"clipboard-check"}}],["/research/",{loader:()=>ce(()=>import("./index.html-C9kiyTqK.js"),__vite__mapDeps([10,1])),meta:{y:"a",t:"説文解字",i:"person-chalkboard"}}],["/research/particles.html",{loader:()=>ce(()=>import("./particles.html-BLtOrMas.js"),__vite__mapDeps([11,1])),meta:{y:"a",t:"粵語語氣詞",i:"comment-dots"}}],["/research/typo.html",{loader:()=>ce(()=>import("./typo.html-zFIYtGTO.js"),__vite__mapDeps([12,1])),meta:{y:"a",t:"常見錯別字",i:"align-center"}}],["/resource/",{loader:()=>ce(()=>import("./index.html-DrqVnwqX.js"),__vite__mapDeps([13,1])),meta:{y:"a",t:"資源共享",i:"laptop-code"}}],["/resource/resource.html",{loader:()=>ce(()=>import("./resource.html-BO4ajh9K.js"),__vite__mapDeps([14,1])),meta:{y:"a",t:"資源站點",i:"laptop-code"}}],["/resource/10weeks/",{loader:()=>ce(()=>import("./index.html-BJzQSwCd.js"),__vite__mapDeps([15,1])),meta:{y:"a",t:"10周學粵拼",i:"laptop-code"}}],["/resource/10weeks/week0.html",{loader:()=>ce(()=>import("./week0.html-B2ORbzLt.js"),__vite__mapDeps([16,1])),meta:{y:"a",t:"Week00 - Introduction",i:"laptop-code"}}],["/resource/10weeks/week1.html",{loader:()=>ce(()=>import("./week1.html-7Xa06GE1.js"),__vite__mapDeps([17,1])),meta:{y:"a",t:"Week01 - Lesson1",i:"laptop-code"}}],["/resource/10weeks/week10.html",{loader:()=>ce(()=>import("./week10.html-s5vRrH36.js"),__vite__mapDeps([18,1])),meta:{y:"a",t:"Week10 - Lesson10 & Revision",i:"laptop-code"}}],["/resource/10weeks/week2.html",{loader:()=>ce(()=>import("./week2.html-D2LxHT6R.js"),__vite__mapDeps([19,1])),meta:{y:"a",t:"Week02 - Lesson2",i:"laptop-code"}}],["/resource/10weeks/week3.html",{loader:()=>ce(()=>import("./week3.html-CXnUcx_-.js"),__vite__mapDeps([20,1])),meta:{y:"a",t:"Week03 - Lesson3",i:"laptop-code"}}],["/resource/10weeks/week4.html",{loader:()=>ce(()=>import("./week4.html-DoQ-f1me.js"),__vite__mapDeps([21,1])),meta:{y:"a",t:"Week04 - Lesson4",i:"laptop-code"}}],["/resource/10weeks/week5.html",{loader:()=>ce(()=>import("./week5.html-u8j5L0O7.js"),__vite__mapDeps([22,1])),meta:{y:"a",t:"Week05 - Lesson5",i:"laptop-code"}}],["/resource/10weeks/week6.html",{loader:()=>ce(()=>import("./week6.html-D1Fvls-7.js"),__vite__mapDeps([23,1])),meta:{y:"a",t:"Week06 - Lesson6",i:"laptop-code"}}],["/resource/10weeks/week7.html",{loader:()=>ce(()=>import("./week7.html-C8WLGo29.js"),__vite__mapDeps([24,1])),meta:{y:"a",t:"Week07 - Lesson7",i:"laptop-code"}}],["/resource/10weeks/week8.html",{loader:()=>ce(()=>import("./week8.html-y3drNyPM.js"),__vite__mapDeps([25,1])),meta:{y:"a",t:"Week08 - Lesson8",i:"laptop-code"}}],["/resource/10weeks/week9.html",{loader:()=>ce(()=>import("./week9.html-ByNo0ZWC.js"),__vite__mapDeps([26,1])),meta:{y:"a",t:"Week09 - Lesson9",i:"laptop-code"}}],["/404.html",{loader:()=>ce(()=>import("./404.html-BPKNBPCz.js"),__vite__mapDeps([27,1])),meta:{y:"p",t:""}}]]);/*! * vue-router v4.3.0 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const nn=typeof document<"u";function Cd(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ue=Object.assign;function po(e,t){const n={};for(const r in t){const o=t[r];n[r]=st(o)?o.map(e):e(o)}return n}const Hn=()=>{},st=Array.isArray,ai=/#/g,kd=/&/g,Sd=/\//g,xd=/=/g,Td=/\?/g,ii=/\+/g,Ad=/%5B/g,Ld=/%5D/g,ci=/%5E/g,Id=/%60/g,ui=/%7B/g,Rd=/%7C/g,fi=/%7D/g,Pd=/%20/g;function ps(e){return encodeURI(""+e).replace(Rd,"|").replace(Ad,"[").replace(Ld,"]")}function Od(e){return ps(e).replace(ui,"{").replace(fi,"}").replace(ci,"^")}function $o(e){return ps(e).replace(ii,"%2B").replace(Pd,"+").replace(ai,"%23").replace(kd,"%26").replace(Id,"`").replace(ui,"{").replace(fi,"}").replace(ci,"^")}function $d(e){return $o(e).replace(xd,"%3D")}function Md(e){return ps(e).replace(ai,"%23").replace(Td,"%3F")}function Nd(e){return e==null?"":Md(e).replace(Sd,"%2F")}function qn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Dd=/\/$/,Hd=e=>e.replace(Dd,"");function ho(e,t,n="/"){let r,o={},s="",l="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),s=t.slice(i+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),l=t.slice(a,t.length)),r=Vd(r??t,n),{fullPath:r+(s&&"?")+s+l,path:r,query:o,hash:qn(l)}}function Fd(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function wl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Bd(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&gn(t.matched[r],n.matched[o])&&di(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function gn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function di(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!jd(e[n],t[n]))return!1;return!0}function jd(e,t){return st(e)?El(e,t):st(t)?El(t,e):e===t}function El(e,t){return st(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Vd(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,l,a;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l).join("/")}var Gn;(function(e){e.pop="pop",e.push="push"})(Gn||(Gn={}));var Fn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Fn||(Fn={}));function zd(e){if(!e)if(nn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Hd(e)}const Wd=/^[^#]+#/;function Ud(e,t){return e.replace(Wd,"#")+t}function qd(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Yr=()=>({left:window.scrollX,top:window.scrollY});function Gd(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=qd(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Cl(e,t){return(history.state?history.state.position-t:-1)+e}const Mo=new Map;function Kd(e,t){Mo.set(e,t)}function Yd(e){const t=Mo.get(e);return Mo.delete(e),t}let Jd=()=>location.protocol+"//"+location.host;function pi(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),wl(i,"")}return wl(n,e)+r+o}function Xd(e,t,n,r){let o=[],s=[],l=null;const a=({state:p})=>{const v=pi(e,location),g=n.value,E=t.value;let _=0;if(p){if(n.value=v,t.value=p,l&&l===g){l=null;return}_=E?p.position-E.position:0}else r(v);o.forEach(y=>{y(n.value,g,{delta:_,type:Gn.pop,direction:_?_>0?Fn.forward:Fn.back:Fn.unknown})})};function i(){l=n.value}function c(p){o.push(p);const v=()=>{const g=o.indexOf(p);g>-1&&o.splice(g,1)};return s.push(v),v}function u(){const{history:p}=window;p.state&&p.replaceState(ue({},p.state,{scroll:Yr()}),"")}function d(){for(const p of s)p();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:i,listen:c,destroy:d}}function kl(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Yr():null}}function Qd(e){const{history:t,location:n}=window,r={value:pi(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(i,c,u){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:Jd()+e+i;try{t[u?"replaceState":"pushState"](c,"",p),o.value=c}catch(v){console.error(v),n[u?"replace":"assign"](p)}}function l(i,c){const u=ue({},t.state,kl(o.value.back,i,o.value.forward,!0),c,{position:o.value.position});s(i,u,!0),r.value=i}function a(i,c){const u=ue({},o.value,t.state,{forward:i,scroll:Yr()});s(u.current,u,!0);const d=ue({},kl(r.value,i,null),{position:u.position+1},c);s(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:l}}function Zd(e){e=zd(e);const t=Qd(e),n=Xd(e,t.state,t.location,t.replace);function r(s,l=!0){l||n.pauseListeners(),history.go(s)}const o=ue({location:"",base:e,go:r,createHref:Ud.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ep(e){return typeof e=="string"||e&&typeof e=="object"}function hi(e){return typeof e=="string"||typeof e=="symbol"}const vt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},vi=Symbol("");var Sl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Sl||(Sl={}));function bn(e,t){return ue(new Error,{type:e,[vi]:!0},t)}function pt(e,t){return e instanceof Error&&vi in e&&(t==null||!!(e.type&t))}const xl="[^/]+?",tp={sensitive:!1,strict:!1,start:!0,end:!0},np=/[.+*?^${}()[\]/\\]/g;function rp(e,t){const n=ue({},tp,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function sp(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const lp={type:0,value:""},ap=/[a-zA-Z0-9_]/;function ip(e){if(!e)return[[]];if(e==="/")return[[lp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,r=n;const o=[];let s;function l(){s&&o.push(s),s=[]}let a=0,i,c="",u="";function d(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{l(C)}:Hn}function l(u){if(hi(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(l),d.alias.forEach(l))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(l),u.alias.forEach(l))}}function a(){return n}function i(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!mi(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!Ll(u)&&r.set(u.record.name,u)}function c(u,d){let p,v={},g,E;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw bn(1,{location:u});E=p.record.name,v=ue(Al(d.params,p.keys.filter(C=>!C.optional).concat(p.parent?p.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),u.params&&Al(u.params,p.keys.map(C=>C.name))),g=p.stringify(v)}else if(u.path!=null)g=u.path,p=n.find(C=>C.re.test(g)),p&&(v=p.parse(g),E=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw bn(1,{location:u,currentLocation:d});E=p.record.name,v=ue({},d.params,u.params),g=p.stringify(v)}const _=[];let y=p;for(;y;)_.unshift(y.record),y=y.parent;return{name:E,path:g,params:v,matched:_,meta:pp(_)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:c,removeRoute:l,getRoutes:a,getRecordMatcher:o}}function Al(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function fp(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:dp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function dp(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ll(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pp(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Il(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function mi(e,t){return t.children.some(n=>n===e||mi(e,n))}function hp(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&$o(s)):[r&&$o(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function vp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=st(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const mp=Symbol(""),Pl=Symbol(""),Jr=Symbol(""),hs=Symbol(""),No=Symbol("");function Tn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Lt(e,t,n,r,o,s=l=>l()){const l=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=p=>{p===!1?i(bn(4,{from:n,to:t})):p instanceof Error?i(p):ep(p)?i(bn(2,{from:t,to:p})):(l&&r.enterCallbacks[o]===l&&typeof p=="function"&&l.push(p),a())},u=s(()=>e.call(r&&r.instances[o],t,n,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(p=>i(p))})}function vo(e,t,n,r,o=s=>s()){const s=[];for(const l of e)for(const a in l.components){let i=l.components[a];if(!(t!=="beforeRouteEnter"&&!l.instances[a]))if(gp(i)){const u=(i.__vccOpts||i)[t];u&&s.push(Lt(u,n,r,l,a,o))}else{let c=i();s.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${l.path}"`));const d=Cd(u)?u.default:u;l.components[a]=d;const v=(d.__vccOpts||d)[t];return v&&Lt(v,n,r,l,a,o)()}))}}return s}function gp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ol(e){const t=Re(Jr),n=Re(hs),r=T(()=>t.resolve(Gt(e.to))),o=T(()=>{const{matched:i}=r.value,{length:c}=i,u=i[c-1],d=n.matched;if(!u||!d.length)return-1;const p=d.findIndex(gn.bind(null,u));if(p>-1)return p;const v=$l(i[c-2]);return c>1&&$l(u)===v&&d[d.length-1].path!==v?d.findIndex(gn.bind(null,i[c-2])):p}),s=T(()=>o.value>-1&&wp(n.params,r.value.params)),l=T(()=>o.value>-1&&o.value===n.matched.length-1&&di(n.params,r.value.params));function a(i={}){return _p(i)?t[Gt(e.replace)?"replace":"push"](Gt(e.to)).catch(Hn):Promise.resolve()}return{route:r,href:T(()=>r.value.href),isActive:s,isExactActive:l,navigate:a}}const bp=z({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ol,setup(e,{slots:t}){const n=er(Ol(e)),{options:r}=Re(Jr),o=T(()=>({[Ml(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ml(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:f("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),yp=bp;function _p(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wp(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!st(o)||o.length!==r.length||r.some((s,l)=>s!==o[l]))return!1}return!0}function $l(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ml=(e,t,n)=>e??t??n,Ep=z({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Re(No),o=T(()=>e.route||r.value),s=Re(Pl,0),l=T(()=>{let c=Gt(s);const{matched:u}=o.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=T(()=>o.value.matched[l.value]);un(Pl,T(()=>l.value+1)),un(mp,a),un(No,o);const i=te();return ae(()=>[i.value,a.value,e.name],([c,u,d],[p,v,g])=>{u&&(u.instances[d]=c,v&&v!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=v.leaveGuards),u.updateGuards.size||(u.updateGuards=v.updateGuards))),c&&u&&(!v||!gn(u,v)||!p)&&(u.enterCallbacks[d]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=o.value,u=e.name,d=a.value,p=d&&d.components[u];if(!p)return Nl(n.default,{Component:p,route:c});const v=d.props[u],g=v?v===!0?c.params:typeof v=="function"?v(c):v:null,_=f(p,ue({},g,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(d.instances[u]=null)},ref:i}));return Nl(n.default,{Component:_,route:c})||_}}});function Nl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Cp=Ep;function kp(e){const t=up(e.routes,e),n=e.parseQuery||hp,r=e.stringifyQuery||Rl,o=e.history,s=Tn(),l=Tn(),a=Tn(),i=He(vt);let c=vt;nn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=po.bind(null,A=>""+A),d=po.bind(null,Nd),p=po.bind(null,qn);function v(A,j){let F,W;return hi(A)?(F=t.getRecordMatcher(A),W=j):W=A,t.addRoute(W,F)}function g(A){const j=t.getRecordMatcher(A);j&&t.removeRoute(j)}function E(){return t.getRoutes().map(A=>A.record)}function _(A){return!!t.getRecordMatcher(A)}function y(A,j){if(j=ue({},j||i.value),typeof A=="string"){const m=ho(n,A,j.path),w=t.resolve({path:m.path},j),L=o.createHref(m.fullPath);return ue(m,w,{params:p(w.params),hash:qn(m.hash),redirectedFrom:void 0,href:L})}let F;if(A.path!=null)F=ue({},A,{path:ho(n,A.path,j.path).path});else{const m=ue({},A.params);for(const w in m)m[w]==null&&delete m[w];F=ue({},A,{params:d(m)}),j.params=d(j.params)}const W=t.resolve(F,j),ie=A.hash||"";W.params=u(p(W.params));const pe=Fd(r,ue({},A,{hash:Od(ie),path:W.path})),h=o.createHref(pe);return ue({fullPath:pe,hash:ie,query:r===Rl?vp(A.query):A.query||{}},W,{redirectedFrom:void 0,href:h})}function C(A){return typeof A=="string"?ho(n,A,i.value.path):ue({},A)}function b(A,j){if(c!==A)return bn(8,{from:j,to:A})}function S(A){return N(A)}function D(A){return S(ue(C(A),{replace:!0}))}function k(A){const j=A.matched[A.matched.length-1];if(j&&j.redirect){const{redirect:F}=j;let W=typeof F=="function"?F(A):F;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=C(W):{path:W},W.params={}),ue({query:A.query,hash:A.hash,params:W.path!=null?{}:A.params},W)}}function N(A,j){const F=c=y(A),W=i.value,ie=A.state,pe=A.force,h=A.replace===!0,m=k(F);if(m)return N(ue(C(m),{state:typeof m=="object"?ue({},ie,m.state):ie,force:pe,replace:h}),j||F);const w=F;w.redirectedFrom=j;let L;return!pe&&Bd(r,W,F)&&(L=bn(16,{to:w,from:W}),at(W,W,!0,!1)),(L?Promise.resolve(L):R(w,W)).catch(x=>pt(x)?pt(x,2)?x:_t(x):U(x,w,W)).then(x=>{if(x){if(pt(x,2))return N(ue({replace:h},C(x.to),{state:typeof x.to=="object"?ue({},ie,x.to.state):ie,force:pe}),j||w)}else x=M(w,W,!0,h,ie);return Y(w,W,x),x})}function P(A,j){const F=b(A,j);return F?Promise.reject(F):Promise.resolve()}function K(A){const j=en.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(A):A()}function R(A,j){let F;const[W,ie,pe]=Sp(A,j);F=vo(W.reverse(),"beforeRouteLeave",A,j);for(const m of W)m.leaveGuards.forEach(w=>{F.push(Lt(w,A,j))});const h=P.bind(null,A,j);return F.push(h),$e(F).then(()=>{F=[];for(const m of s.list())F.push(Lt(m,A,j));return F.push(h),$e(F)}).then(()=>{F=vo(ie,"beforeRouteUpdate",A,j);for(const m of ie)m.updateGuards.forEach(w=>{F.push(Lt(w,A,j))});return F.push(h),$e(F)}).then(()=>{F=[];for(const m of pe)if(m.beforeEnter)if(st(m.beforeEnter))for(const w of m.beforeEnter)F.push(Lt(w,A,j));else F.push(Lt(m.beforeEnter,A,j));return F.push(h),$e(F)}).then(()=>(A.matched.forEach(m=>m.enterCallbacks={}),F=vo(pe,"beforeRouteEnter",A,j,K),F.push(h),$e(F))).then(()=>{F=[];for(const m of l.list())F.push(Lt(m,A,j));return F.push(h),$e(F)}).catch(m=>pt(m,8)?m:Promise.reject(m))}function Y(A,j,F){a.list().forEach(W=>K(()=>W(A,j,F)))}function M(A,j,F,W,ie){const pe=b(A,j);if(pe)return pe;const h=j===vt,m=nn?history.state:{};F&&(W||h?o.replace(A.fullPath,ue({scroll:h&&m&&m.scroll},ie)):o.push(A.fullPath,ie)),i.value=A,at(A,j,F,h),_t()}let X;function ye(){X||(X=o.listen((A,j,F)=>{if(!pr.listening)return;const W=y(A),ie=k(W);if(ie){N(ue(ie,{replace:!0}),W).catch(Hn);return}c=W;const pe=i.value;nn&&Kd(Cl(pe.fullPath,F.delta),Yr()),R(W,pe).catch(h=>pt(h,12)?h:pt(h,2)?(N(h.to,W).then(m=>{pt(m,20)&&!F.delta&&F.type===Gn.pop&&o.go(-1,!1)}).catch(Hn),Promise.reject()):(F.delta&&o.go(-F.delta,!1),U(h,W,pe))).then(h=>{h=h||M(W,pe,!1),h&&(F.delta&&!pt(h,8)?o.go(-F.delta,!1):F.type===Gn.pop&&pt(h,20)&&o.go(-1,!1)),Y(W,pe,h)}).catch(Hn)}))}let _e=Tn(),q=Tn(),ne;function U(A,j,F){_t(A);const W=q.list();return W.length?W.forEach(ie=>ie(A,j,F)):console.error(A),Promise.reject(A)}function tt(){return ne&&i.value!==vt?Promise.resolve():new Promise((A,j)=>{_e.add([A,j])})}function _t(A){return ne||(ne=!A,ye(),_e.list().forEach(([j,F])=>A?F(A):j()),_e.reset()),A}function at(A,j,F,W){const{scrollBehavior:ie}=e;if(!nn||!ie)return Promise.resolve();const pe=!F&&Yd(Cl(A.fullPath,0))||(W||!F)&&history.state&&history.state.scroll||null;return Xt().then(()=>ie(A,j,pe)).then(h=>h&&Gd(h)).catch(h=>U(h,A,j))}const Fe=A=>o.go(A);let Zt;const en=new Set,pr={currentRoute:i,listening:!0,addRoute:v,removeRoute:g,hasRoute:_,getRoutes:E,resolve:y,options:e,push:S,replace:D,go:Fe,back:()=>Fe(-1),forward:()=>Fe(1),beforeEach:s.add,beforeResolve:l.add,afterEach:a.add,onError:q.add,isReady:tt,install(A){const j=this;A.component("RouterLink",yp),A.component("RouterView",Cp),A.config.globalProperties.$router=j,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>Gt(i)}),nn&&!Zt&&i.value===vt&&(Zt=!0,S(o.location).catch(ie=>{}));const F={};for(const ie in vt)Object.defineProperty(F,ie,{get:()=>i.value[ie],enumerable:!0});A.provide(Jr,j),A.provide(hs,va(F)),A.provide(No,i);const W=A.unmount;en.add(A),A.unmount=function(){en.delete(A),en.size<1&&(c=vt,X&&X(),X=null,i.value=vt,Zt=!1,ne=!1),W()}}};function $e(A){return A.reduce((j,F)=>j.then(()=>K(F)),Promise.resolve())}return pr}function Sp(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let l=0;lgn(c,a))?r.push(a):n.push(a));const i=e.matched[l];i&&(t.matched.find(c=>gn(c,i))||o.push(i))}return[n,r,o]}function Dt(){return Re(Jr)}function Qt(){return Re(hs)}var vs=Symbol(""),dt=()=>{const e=Re(vs);if(!e)throw new Error("useClientData() is called without provider.");return e},xp=()=>dt().pageComponent,ge=()=>dt().pageData,Ce=()=>dt().pageFrontmatter,Tp=()=>dt().pageHead,gi=()=>dt().pageLang,Ap=()=>dt().pageLayout,wn=()=>dt().routeLocale,Lp=()=>dt().routes,bi=()=>dt().siteData,ms=()=>dt().siteLocaleData,Ip=Symbol(""),yi=He(wd),Kn=He(Ed),_i=e=>{const t=gd(e);if(Kn.value[t])return t;const n=encodeURI(t);return Kn.value[n]?n:yi.value[t]||t},Xr=e=>{const t=_i(e),n=Kn.value[t]??{...Kn.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},Qr=z({name:"ClientOnly",setup(e,t){const n=te(!1);return be(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),wi=z({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=xp(),n=T(()=>{if(!e.path)return t.value;const r=Xr(e.path);return Hu(()=>r.loader().then(({comp:o})=>o))});return()=>f(n.value)}}),Ie=e=>Nt(e)?e:`/navigator_jyutping/${li(e)}`,Rp=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Ve=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var a;const s=Dt(),l=Ie(_i(n));return f("a",{...r,class:["route-link",{[t]:e}],href:l,onClick:(i={})=>{Rp(i)?s.push(n).catch():Promise.resolve()}},(a=o.default)==null?void 0:a.call(o))};Ve.displayName="RouteLink";Ve.props={active:Boolean,activeClass:String,to:String};var Pp="Layout",Op="en-US",jt=er({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=we(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return hd(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Op,resolvePageLayout:(e,t)=>{const n=we(e.frontmatter.layout)?e.frontmatter.layout:Pp;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>bd(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});const $p={};var lt=(e={})=>e;const En=e=>{const t=wn();return T(()=>e[t.value]??{})},je=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||or())==null?void 0:r.appContext.components;return n?e in n||et(e)in n||Zn(et(e))in n:!1},Ei=e=>new Promise(t=>setTimeout(t,e)),Mp=e=>typeof e<"u",mo=e=>typeof e=="number",Do=Array.isArray,Yn=(e,t)=>we(e)&&e.startsWith(t),Np=(e,t)=>we(e)&&e.endsWith(t),gs=Object.entries,Dp=Object.fromEntries,ir=Object.keys,Hp=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},bs=e=>Yn(e,"/");function Ci(e,t){let n,r,o;const s=te(!0),l=()=>{s.value=!0,o()};ae(e,l,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,c=os((u,d)=>(r=u,o=d,{get(){return s.value&&(n=a(),s.value=!1),r(),n},set(p){i==null||i(p)}}));return Object.isExtensible(c)&&(c.trigger=l),c}function Cn(e){return ra()?(Uc(e),!0):!1}function Pe(e){return typeof e=="function"?e():Gt(e)}const cr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Fp=Object.prototype.toString,Bp=e=>Fp.call(e)==="[object Object]",Kt=()=>{},Dl=jp();function jp(){var e,t;return cr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ys(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const ki=e=>e();function Vp(e,t={}){let n,r,o=Kt;const s=a=>{clearTimeout(a),o(),o=Kt};return a=>{const i=Pe(e),c=Pe(t.maxWait);return n&&s(n),i<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((u,d)=>{o=t.rejectOnCancel?d:u,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,u(a())},c)),n=setTimeout(()=>{r&&s(r),r=null,u(a())},i)})}}function zp(...e){let t=0,n,r=!0,o=Kt,s,l,a,i,c;!Le(e[0])&&typeof e[0]=="object"?{delay:l,trailing:a=!0,leading:i=!0,rejectOnCancel:c=!1}=e[0]:[l,a=!0,i=!0,c=!1]=e;const u=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Kt)};return p=>{const v=Pe(l),g=Date.now()-t,E=()=>s=p();return u(),v<=0?(t=Date.now(),E()):(g>v&&(i||!r)?(t=Date.now(),E()):a&&(s=new Promise((_,y)=>{o=c?y:_,n=setTimeout(()=>{t=Date.now(),r=!0,_(E()),u()},Math.max(0,v-g))})),!i&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function Wp(e=ki){const t=te(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:tr(t),pause:n,resume:r,eventFilter:o}}function Up(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Si(e){return e||or()}function qp(...e){if(e.length!==1)return Wr(...e);const t=e[0];return typeof t=="function"?tr(os(()=>({get:t,set:Kt}))):te(t)}function Gp(e,t=200,n={}){return ys(Vp(t,n),e)}function Kp(e,t=200,n=!1,r=!0,o=!1){return ys(zp(t,n,r,o),e)}function Yp(e,t,n={}){const{eventFilter:r=ki,...o}=n;return ae(e,ys(r,t),o)}function Jp(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:l,resume:a,isActive:i}=Wp(r);return{stop:Yp(e,t,{...o,eventFilter:s}),pause:l,resume:a,isActive:i}}function Zr(e,t=!0,n){Si()?be(e,n):t?e():Xt(e)}function Xp(e,t){Si(t)&&_n(e,t)}function Qp(e,t,n={}){const{immediate:r=!0}=n,o=te(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,l()}function i(...c){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},Pe(t))}return r&&(o.value=!0,cr&&i()),Cn(a),{isPending:tr(o),start:i,stop:a}}function Ho(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Le(e),s=te(e);function l(a){if(arguments.length)return s.value=a,s.value;{const i=Pe(n);return s.value=s.value===i?Pe(r):i,s.value}}return o?l:[s,l]}function gt(e){var t;const n=Pe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Mt=cr?window:void 0,xi=cr?window.document:void 0,Ti=cr?window.navigator:void 0;function Oe(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Mt):[t,n,r,o]=e,!t)return Kt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],l=()=>{s.forEach(u=>u()),s.length=0},a=(u,d,p,v)=>(u.addEventListener(d,p,v),()=>u.removeEventListener(d,p,v)),i=ae(()=>[gt(t),Pe(o)],([u,d])=>{if(l(),!u)return;const p=Bp(d)?{...d}:d;s.push(...n.flatMap(v=>r.map(g=>a(u,v,g,p))))},{immediate:!0,flush:"post"}),c=()=>{i(),l()};return Cn(c),c}function Zp(){const e=te(!1),t=or();return t&&be(()=>{e.value=!0},t),e}function ur(e){const t=Zp();return T(()=>(t.value,!!e()))}function Ai(e,t={}){const{window:n=Mt}=t,r=ur(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=te(!1),l=c=>{s.value=c.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",l):o.removeListener(l))},i=Aa(()=>{r.value&&(a(),o=n.matchMedia(Pe(e)),"addEventListener"in o?o.addEventListener("change",l):o.addListener(l),s.value=o.matches)});return Cn(()=>{i(),a(),o=void 0}),s}function Hl(e,t={}){const{controls:n=!1,navigator:r=Ti}=t,o=ur(()=>r&&"permissions"in r);let s;const l=typeof e=="string"?{name:e}:e,a=te(),i=()=>{s&&(a.value=s.state)},c=Up(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(l),Oe(s,"change",i),i()}catch{a.value="prompt"}return s}});return c(),n?{state:a,isSupported:o,query:c}:a}function eh(e={}){const{navigator:t=Ti,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,l=ur(()=>t&&"clipboard"in t),a=Hl("clipboard-read"),i=Hl("clipboard-write"),c=T(()=>l.value||s),u=te(""),d=te(!1),p=Qp(()=>d.value=!1,o);function v(){l.value&&y(a.value)?t.clipboard.readText().then(C=>{u.value=C}):u.value=_()}c.value&&n&&Oe(["copy","cut"],v);async function g(C=Pe(r)){c.value&&C!=null&&(l.value&&y(i.value)?await t.clipboard.writeText(C):E(C),u.value=C,d.value=!0,p.start())}function E(C){const b=document.createElement("textarea");b.value=C??"",b.style.position="absolute",b.style.opacity="0",document.body.appendChild(b),b.select(),document.execCommand("copy"),b.remove()}function _(){var C,b,S;return(S=(b=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:b.toString())!=null?S:""}function y(C){return C==="granted"||C==="prompt"}return{isSupported:c,text:u,copied:d,copy:g}}const Cr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},kr="__vueuse_ssr_handlers__",th=nh();function nh(){return kr in Cr||(Cr[kr]=Cr[kr]||{}),Cr[kr]}function rh(e,t){return th[e]||t}function oh(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const sh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Fl="vueuse-storage";function _s(e,t,n,r={}){var o;const{flush:s="pre",deep:l=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:u,window:d=Mt,eventFilter:p,onError:v=R=>{console.error(R)},initOnMounted:g}=r,E=(u?He:te)(typeof t=="function"?t():t);if(!n)try{n=rh("getDefaultStorage",()=>{var R;return(R=Mt)==null?void 0:R.localStorage})()}catch(R){v(R)}if(!n)return E;const _=Pe(t),y=oh(_),C=(o=r.serializer)!=null?o:sh[y],{pause:b,resume:S}=Jp(E,()=>k(E.value),{flush:s,deep:l,eventFilter:p});d&&a&&Zr(()=>{Oe(d,"storage",P),Oe(d,Fl,K),g&&P()}),g||P();function D(R,Y){d&&d.dispatchEvent(new CustomEvent(Fl,{detail:{key:e,oldValue:R,newValue:Y,storageArea:n}}))}function k(R){try{const Y=n.getItem(e);if(R==null)D(Y,null),n.removeItem(e);else{const M=C.write(R);Y!==M&&(n.setItem(e,M),D(Y,M))}}catch(Y){v(Y)}}function N(R){const Y=R?R.newValue:n.getItem(e);if(Y==null)return i&&_!=null&&n.setItem(e,C.write(_)),_;if(!R&&c){const M=C.read(Y);return typeof c=="function"?c(M,_):y==="object"&&!Array.isArray(M)?{..._,...M}:M}else return typeof Y!="string"?Y:C.read(Y)}function P(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){E.value=_;return}if(!(R&&R.key!==e)){b();try{(R==null?void 0:R.newValue)!==C.write(E.value)&&(E.value=N(R))}catch(Y){v(Y)}finally{R?Xt(S):S()}}}}function K(R){P(R.detail)}return E}function lh(e){return Ai("(prefers-color-scheme: dark)",e)}function ah(e,t,n={}){const{window:r=Mt,...o}=n;let s;const l=ur(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=T(()=>Array.isArray(e)?e.map(d=>gt(d)):[gt(e)]),c=ae(i,d=>{if(a(),l.value&&r){s=new ResizeObserver(t);for(const p of d)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),u=()=>{a(),c()};return Cn(u),{isSupported:l,stop:u}}function ih(e,t={width:0,height:0},n={}){const{window:r=Mt,box:o="content-box"}=n,s=T(()=>{var d,p;return(p=(d=gt(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),l=te(t.width),a=te(t.height),{stop:i}=ah(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&s.value){const v=gt(e);if(v){const g=r.getComputedStyle(v);l.value=Number.parseFloat(g.width),a.value=Number.parseFloat(g.height)}}else if(p){const v=Array.isArray(p)?p:[p];l.value=v.reduce((g,{inlineSize:E})=>g+E,0),a.value=v.reduce((g,{blockSize:E})=>g+E,0)}else l.value=d.contentRect.width,a.value=d.contentRect.height},n);Zr(()=>{const d=gt(e);d&&(l.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const c=ae(()=>gt(e),d=>{l.value=d?t.width:0,a.value=d?t.height:0});function u(){i(),c()}return{width:l,height:a,stop:u}}const Bl=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function ws(e,t={}){const{document:n=xi,autoExit:r=!1}=t,o=T(()=>{var y;return(y=gt(e))!=null?y:n==null?void 0:n.querySelector("html")}),s=te(!1),l=T(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),a=T(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),i=T(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||o.value&&y in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),u=ur(()=>o.value&&n&&l.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const y=o.value;if((y==null?void 0:y[i.value])!=null)return!!y[i.value]}}return!1};async function v(){if(!(!u.value||!s.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const y=o.value;(y==null?void 0:y[a.value])!=null&&await y[a.value]()}s.value=!1}}async function g(){if(!u.value||s.value)return;p()&&await v();const y=o.value;l.value&&(y==null?void 0:y[l.value])!=null&&(await y[l.value](),s.value=!0)}async function E(){await(s.value?v():g())}const _=()=>{const y=p();(!y||y&&d())&&(s.value=y)};return Oe(n,Bl,_,!1),Oe(()=>gt(o),Bl,_,!1),r&&Cn(v),{isSupported:u,isFullscreen:s,enter:g,exit:v,toggle:E}}function go(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function bo(e,t=Kt,n={}){const{immediate:r=!0,manual:o=!1,type:s="text/javascript",async:l=!0,crossOrigin:a,referrerPolicy:i,noModule:c,defer:u,document:d=xi,attrs:p={}}=n,v=te(null);let g=null;const E=C=>new Promise((b,S)=>{const D=P=>(v.value=P,b(P),P);if(!d){b(!1);return}let k=!1,N=d.querySelector(`script[src="${Pe(e)}"]`);N?N.hasAttribute("data-loaded")&&D(N):(N=d.createElement("script"),N.type=s,N.async=l,N.src=Pe(e),u&&(N.defer=u),a&&(N.crossOrigin=a),c&&(N.noModule=c),i&&(N.referrerPolicy=i),Object.entries(p).forEach(([P,K])=>N==null?void 0:N.setAttribute(P,K)),k=!0),N.addEventListener("error",P=>S(P)),N.addEventListener("abort",P=>S(P)),N.addEventListener("load",()=>{N.setAttribute("data-loaded","true"),t(N),D(N)}),k&&(N=d.head.appendChild(N)),C||D(N)}),_=(C=!0)=>(g||(g=E(C)),g),y=()=>{if(!d)return;g=null,v.value&&(v.value=null);const C=d.querySelector(`script[src="${Pe(e)}"]`);C&&d.head.removeChild(C)};return r&&!o&&Zr(_),o||Xp(y),{scriptTag:v,load:_,unload:y}}function Li(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Sr=new WeakMap;function Ii(e,t=!1){const n=te(t);let r=null;ae(qp(e),l=>{const a=go(Pe(l));if(a){const i=a;Sr.get(i)||Sr.set(i,i.style.overflow),n.value&&(i.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=go(Pe(e));!l||n.value||(Dl&&(r=Oe(l,"touchmove",a=>{ch(a)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},s=()=>{var l;const a=go(Pe(e));!a||!n.value||(Dl&&(r==null||r()),a.style.overflow=(l=Sr.get(a))!=null?l:"",Sr.delete(a),n.value=!1)};return Cn(s),T({get(){return n.value},set(l){l?o():s()}})}function uh(e={}){const{window:t=Mt,behavior:n="auto"}=e;if(!t)return{x:te(0),y:te(0)};const r=te(t.scrollX),o=te(t.scrollY),s=T({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),l=T({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return Oe(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:l}}function fh(e={}){const{window:t=Mt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,l=te(n),a=te(r),i=()=>{t&&(s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),Zr(i),Oe("resize",i,{passive:!0}),o){const c=Ai("(orientation: portrait)");ae(c,()=>i())}return{width:l,height:a}}var dh=z({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=T(()=>{const r=["font-icon icon"],o=`fas fa-${e.icon}`;return r.push("fa-fw fa-sm"),r.push(e.icon.includes(" ")?e.icon:o),r}),n=T(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),ir(r).length?r:null});return()=>e.icon?f("span",{key:e.icon,class:t.value,style:n.value}):null}});const Ri=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var s;return f("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((s=o.default)==null?void 0:s.call(o))||t)};Ri.displayName="Badge";const Pi=({title:e,desc:t="",logo:n,background:r,color:o,link:s})=>{const l=[n?f("img",{class:"vp-card-logo",src:Ie(n),loading:"lazy","no-view":""}):null,f("div",{class:"vp-card-content"},[f("div",{class:"vp-card-title",innerHTML:e}),f("hr"),f("div",{class:"vp-card-desc",innerHTML:t})])],a={};return r&&(a.background=r),o&&(a.color=o),s?mn(s)?f("a",{class:"vp-card",href:s,target:"_blank",style:a},l):f(Ve,{to:s,class:"vp-card",style:a},()=>l):f("div",{class:"vp-card",style:a},l)};Pi.displayName="VPCard";const ke=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return f("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(r=n.default)==null?void 0:r.call(n))};ke.displayName="IconBase";const Oi=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},Es=()=>f(ke,{name:"github"},()=>f("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));Es.displayName="GitHubIcon";const Cs=()=>f(ke,{name:"gitlab"},()=>f("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));Cs.displayName="GitLabIcon";const ks=()=>f(ke,{name:"gitee"},()=>f("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));ks.displayName="GiteeIcon";const Ss=()=>f(ke,{name:"bitbucket"},()=>f("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));Ss.displayName="BitbucketIcon";const xs=()=>f(ke,{name:"source"},()=>f("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));xs.displayName="SourceIcon";const $i=(e,t)=>{let n=1;for(let r=0;r>6;return n+=n<<3,n^=n>>11,n%t},Mi=/#.*$/u,ph=e=>{const t=Mi.exec(e);return t?t[0]:""},jl=e=>decodeURI(e).replace(Mi,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),Ni=(e,t)=>{if(!Mp(t))return!1;const n=jl(e.path),r=jl(t),o=ph(t);return o?o===e.hash&&(!r||n===r):n===r},hh=e=>Nt(e)?e:`https://github.com/${e}`,Ts=e=>!Nt(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null;var vh=e=>Object.prototype.toString.call(e)==="[object Object]",Jn=e=>typeof e=="string";const Di=Array.isArray,Vl=e=>vh(e)&&Jn(e.name),zl=(e,t=!1)=>e?Di(e)?e.map(n=>Jn(n)?{name:n}:Vl(n)?n:null).filter(n=>n!==null):Jn(e)?[{name:e}]:Vl(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Hi=(e,t)=>{if(e){if(Di(e)&&e.every(Jn))return e;if(Jn(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},mh=e=>Hi(e,"category"),gh=e=>Hi(e,"tag");var bh={"/":{source:"源代碼"}},yh=z({name:"SiteInfo",components:{BitbucketIcon:Ss,GiteeIcon:ks,GitHubIcon:Es,GitLabIcon:Cs,SourceIcon:xs},props:{name:{type:String,required:!0},desc:{type:String,default:""},logo:{type:String,default:""},url:{type:String,required:!0},preview:{type:String,required:!0},repo:{type:String,default:""}},setup(e){const t=En(bh),n=T(()=>e.repo?Ts(e.repo):null);return()=>f("div",{class:"vp-site-info","data-name":e.name},[f("a",{class:"vp-site-info-navigator",title:e.name,href:e.url,target:"_blank"}),f("div",{class:"vp-site-info-preview",style:{background:`url(${Ie(e.preview)}) center/cover no-repeat`}}),f("div",{class:"vp-site-info-detail"},[e.logo?f("img",{class:"vp-site-info-logo",src:e.logo,alt:"",loading:"lazy","no-view":""}):null,f("div",{class:"vp-site-info-name"},e.name),f("div",{class:"vp-site-info-desc"},e.desc)]),e.repo?f("div",{class:"vp-site-info-source-wrapper"},f("a",{class:"vp-site-info-source",href:e.repo,"aria-label":t.value.source,"data-balloon-pos":"left",title:t.value.source,target:"_blank"},f(Ze(`${n.value}Icon`)))):null])}});const Wl=e=>Nt(e)?e:Ie(e);var _h=z({name:"VidStack",props:{sources:{type:Array,default:()=>[]},tracks:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return be(async()=>{await Promise.all([ce(()=>import("./vidstack-player-r0CjzTIp.js"),__vite__mapDeps([28,29])),ce(()=>import("./vidstack-player-layouts-1puRE4cN.js"),__vite__mapDeps([30,29,31])),ce(()=>import("./vidstack-player-ui-BD4X0Ly7.js"),__vite__mapDeps([32,29,31]))])}),()=>f("media-player",t,[f("media-provider",[t.poster?f("media-poster",{class:"vds-poster",alt:t.alt||t.title}):null,e.sources.map(n=>ar(n)?f("source",{...n,src:Wl(n.src)}):f("source",{src:Wl(n)})),e.tracks.map(n=>f("track",n))]),f("media-audio-layout"),f("media-video-layout",t)])}});const wh=lt({enhance:({app:e})=>{je("FontIcon")||e.component("FontIcon",dh),je("Badge")||e.component("Badge",Ri),je("VPCard")||e.component("VPCard",Pi),je("SiteInfo")||e.component("SiteInfo",yh),je("VidStack")||e.component("VidStack",_h)},setup:()=>{bo("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/brands.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}}),bo("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/solid.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}}),bo("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/fontawesome.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}})},rootComponents:[]}),Ul=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},Eh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=Dt();Oe("scroll",Gp(()=>{var g,E;const l=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(l-0)d.some(y=>y.hash===_.hash));for(let _=0;_=(((g=y.parentElement)==null?void 0:g.offsetTop)??0)-r,S=!C||l<(((E=C.parentElement)==null?void 0:E.offsetTop)??0)-r;if(!(b&&S))continue;const k=decodeURIComponent(o.currentRoute.value.hash),N=decodeURIComponent(y.hash);if(k===N)return;if(u){for(let P=_+1;Pwe(e.title)?{title:e.title}:null;const Bi=Symbol(""),Ah=e=>{Fi=e},Lh=()=>Re(Bi),Ih=e=>{e.provide(Bi,Fi)};var Rh={"/":{title:"目錄",empty:"暫無目錄"}};const Ph=z({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=Lh(),n=En(Rh),r=ge(),o=Lp(),s=bi(),a=He(gs(o.value).map(([c,{meta:u}])=>{const d=t(u);if(!d)return null;const p=c.split("/").length;return{level:Np(c,"/")?p-2:p-1,base:c.replace(/\/[^/]+\/?$/,"/"),path:c,...d}}).filter(c=>ar(c)&&we(c.title))),i=T(()=>{const c=e.base?vd(oi(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),u=c.split("/").length-2,d=[];return a.value.filter(({level:p,path:v})=>{if(!Yn(v,c)||v===c)return!1;if(c==="/"){const g=ir(s.value.locales).filter(E=>E!=="/");if(v==="/404.html"||g.some(E=>Yn(v,E)))return!1}return p-u<=e.level}).sort(({title:p,level:v,order:g},{title:E,level:_,order:y})=>{const C=v-_;return C||(mo(g)?mo(y)?g>0?y>0?g-y:-1:y<0?g-y:1:g:mo(y)?y:p.localeCompare(E))}).forEach(p=>{var E;const{base:v,level:g}=p;switch(g-u){case 1:{d.push(p);break}case 2:{const _=d.find(y=>y.path===v);_&&(_.children??(_.children=[])).push(p);break}default:{const _=d.find(y=>y.path===v.replace(/\/[^/]+\/$/,"/"));if(_){const y=(E=_.children)==null?void 0:E.find(C=>C.path===v);y&&(y.children??(y.children=[])).push(p)}}}}),d});return()=>{const c=i.value.some(u=>u.children);return f("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:f("h2",{class:"vp-catalog-main-title"},n.value.title),i.value.length?f(e.index?"ol":"ul",{class:["vp-catalogs",{deep:c}]},i.value.map(({children:u=[],title:d,path:p,content:v})=>{const g=f(Ve,{class:"vp-catalog-title",to:p},()=>v?f(v):d);return f("li",{class:"vp-catalog"},c?[f("h3",{id:d,class:["vp-catalog-child-title",{"has-children":u.length}]},[f("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),g]),u.length?f(e.index?"ol":"ul",{class:"vp-child-catalogs"},u.map(({children:E=[],content:_,path:y,title:C})=>f("li",{class:"vp-child-catalog"},[f("div",{class:["vp-catalog-sub-title",{"has-children":E.length}]},[f("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),f(Ve,{class:"vp-catalog-title",to:y},()=>_?f(_):C)]),E.length?f(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},E.map(({content:b,path:S,title:D})=>e.index?f("li",{class:"vp-sub-catalog"},f(Ve,{to:S},()=>b?f(b):D)):f(Ve,{class:"vp-sub-catalog-link",to:S},()=>b?f(b):D))):null]))):null]:f("div",{class:"vp-catalog-child-title"},g))})):f("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),Oh=lt({enhance:({app:e})=>{Ih(e),je("Catalog",e)||e.component("Catalog",Ph)}});var $h={"/":{backToTop:"返回頂部"}};const Mh=z({name:"BackToTop",setup(e){const t=Ce(),n=En($h),r=He(),{height:o}=ih(r),{height:s}=fh(),{y:l}=uh(),a=T(()=>t.value.backToTop!==!1&&l.value>100),i=T(()=>l.value/(o.value-s.value)*100);return be(()=>{r.value=document.body}),()=>f($t,{name:"back-to-top"},()=>a.value?f("button",{type:"button",class:"vp-back-to-top-button","aria-label":n.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[f("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":i.value},f("svg",f("circle",{cx:"50%",cy:"50%",style:{"stroke-dasharray":`calc(${Math.PI*i.value}% - ${4*Math.PI}px) calc(${Math.PI*100}% - ${4*Math.PI}px)`}}))),f("div",{class:"back-to-top-icon"})]):null)}}),Nh=lt({rootComponents:[Mh]}),Dh=f("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[f("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),f("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),ji=z({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=wn(),n=T(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>f("span",[Dh,f("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var Hh={};const Fh=Hh,Bh=lt({enhance({app:e}){e.component("ExternalLinkIcon",f(ji,{locales:Fh}))}});/** + */const nn=typeof document<"u";function Cd(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ue=Object.assign;function po(e,t){const n={};for(const r in t){const o=t[r];n[r]=st(o)?o.map(e):e(o)}return n}const Hn=()=>{},st=Array.isArray,ai=/#/g,kd=/&/g,Sd=/\//g,xd=/=/g,Td=/\?/g,ii=/\+/g,Ad=/%5B/g,Ld=/%5D/g,ci=/%5E/g,Id=/%60/g,ui=/%7B/g,Rd=/%7C/g,fi=/%7D/g,Pd=/%20/g;function ps(e){return encodeURI(""+e).replace(Rd,"|").replace(Ad,"[").replace(Ld,"]")}function Od(e){return ps(e).replace(ui,"{").replace(fi,"}").replace(ci,"^")}function $o(e){return ps(e).replace(ii,"%2B").replace(Pd,"+").replace(ai,"%23").replace(kd,"%26").replace(Id,"`").replace(ui,"{").replace(fi,"}").replace(ci,"^")}function $d(e){return $o(e).replace(xd,"%3D")}function Md(e){return ps(e).replace(ai,"%23").replace(Td,"%3F")}function Nd(e){return e==null?"":Md(e).replace(Sd,"%2F")}function qn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Dd=/\/$/,Hd=e=>e.replace(Dd,"");function ho(e,t,n="/"){let r,o={},s="",l="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),s=t.slice(i+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),l=t.slice(a,t.length)),r=Vd(r??t,n),{fullPath:r+(s&&"?")+s+l,path:r,query:o,hash:qn(l)}}function Fd(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function wl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Bd(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&gn(t.matched[r],n.matched[o])&&di(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function gn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function di(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!jd(e[n],t[n]))return!1;return!0}function jd(e,t){return st(e)?El(e,t):st(t)?El(t,e):e===t}function El(e,t){return st(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Vd(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,l,a;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l).join("/")}var Gn;(function(e){e.pop="pop",e.push="push"})(Gn||(Gn={}));var Fn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Fn||(Fn={}));function zd(e){if(!e)if(nn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Hd(e)}const Wd=/^[^#]+#/;function Ud(e,t){return e.replace(Wd,"#")+t}function qd(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Yr=()=>({left:window.scrollX,top:window.scrollY});function Gd(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=qd(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Cl(e,t){return(history.state?history.state.position-t:-1)+e}const Mo=new Map;function Kd(e,t){Mo.set(e,t)}function Yd(e){const t=Mo.get(e);return Mo.delete(e),t}let Jd=()=>location.protocol+"//"+location.host;function pi(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),wl(i,"")}return wl(n,e)+r+o}function Xd(e,t,n,r){let o=[],s=[],l=null;const a=({state:p})=>{const v=pi(e,location),g=n.value,E=t.value;let _=0;if(p){if(n.value=v,t.value=p,l&&l===g){l=null;return}_=E?p.position-E.position:0}else r(v);o.forEach(y=>{y(n.value,g,{delta:_,type:Gn.pop,direction:_?_>0?Fn.forward:Fn.back:Fn.unknown})})};function i(){l=n.value}function c(p){o.push(p);const v=()=>{const g=o.indexOf(p);g>-1&&o.splice(g,1)};return s.push(v),v}function u(){const{history:p}=window;p.state&&p.replaceState(ue({},p.state,{scroll:Yr()}),"")}function d(){for(const p of s)p();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:i,listen:c,destroy:d}}function kl(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Yr():null}}function Qd(e){const{history:t,location:n}=window,r={value:pi(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(i,c,u){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:Jd()+e+i;try{t[u?"replaceState":"pushState"](c,"",p),o.value=c}catch(v){console.error(v),n[u?"replace":"assign"](p)}}function l(i,c){const u=ue({},t.state,kl(o.value.back,i,o.value.forward,!0),c,{position:o.value.position});s(i,u,!0),r.value=i}function a(i,c){const u=ue({},o.value,t.state,{forward:i,scroll:Yr()});s(u.current,u,!0);const d=ue({},kl(r.value,i,null),{position:u.position+1},c);s(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:l}}function Zd(e){e=zd(e);const t=Qd(e),n=Xd(e,t.state,t.location,t.replace);function r(s,l=!0){l||n.pauseListeners(),history.go(s)}const o=ue({location:"",base:e,go:r,createHref:Ud.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ep(e){return typeof e=="string"||e&&typeof e=="object"}function hi(e){return typeof e=="string"||typeof e=="symbol"}const vt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},vi=Symbol("");var Sl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Sl||(Sl={}));function bn(e,t){return ue(new Error,{type:e,[vi]:!0},t)}function pt(e,t){return e instanceof Error&&vi in e&&(t==null||!!(e.type&t))}const xl="[^/]+?",tp={sensitive:!1,strict:!1,start:!0,end:!0},np=/[.+*?^${}()[\]/\\]/g;function rp(e,t){const n=ue({},tp,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function sp(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const lp={type:0,value:""},ap=/[a-zA-Z0-9_]/;function ip(e){if(!e)return[[]];if(e==="/")return[[lp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,r=n;const o=[];let s;function l(){s&&o.push(s),s=[]}let a=0,i,c="",u="";function d(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{l(C)}:Hn}function l(u){if(hi(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(l),d.alias.forEach(l))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(l),u.alias.forEach(l))}}function a(){return n}function i(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!mi(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!Ll(u)&&r.set(u.record.name,u)}function c(u,d){let p,v={},g,E;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw bn(1,{location:u});E=p.record.name,v=ue(Al(d.params,p.keys.filter(C=>!C.optional).concat(p.parent?p.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),u.params&&Al(u.params,p.keys.map(C=>C.name))),g=p.stringify(v)}else if(u.path!=null)g=u.path,p=n.find(C=>C.re.test(g)),p&&(v=p.parse(g),E=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw bn(1,{location:u,currentLocation:d});E=p.record.name,v=ue({},d.params,u.params),g=p.stringify(v)}const _=[];let y=p;for(;y;)_.unshift(y.record),y=y.parent;return{name:E,path:g,params:v,matched:_,meta:pp(_)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:c,removeRoute:l,getRoutes:a,getRecordMatcher:o}}function Al(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function fp(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:dp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function dp(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ll(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pp(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Il(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function mi(e,t){return t.children.some(n=>n===e||mi(e,n))}function hp(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&$o(s)):[r&&$o(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function vp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=st(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const mp=Symbol(""),Pl=Symbol(""),Jr=Symbol(""),hs=Symbol(""),No=Symbol("");function Tn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Lt(e,t,n,r,o,s=l=>l()){const l=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=p=>{p===!1?i(bn(4,{from:n,to:t})):p instanceof Error?i(p):ep(p)?i(bn(2,{from:t,to:p})):(l&&r.enterCallbacks[o]===l&&typeof p=="function"&&l.push(p),a())},u=s(()=>e.call(r&&r.instances[o],t,n,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(p=>i(p))})}function vo(e,t,n,r,o=s=>s()){const s=[];for(const l of e)for(const a in l.components){let i=l.components[a];if(!(t!=="beforeRouteEnter"&&!l.instances[a]))if(gp(i)){const u=(i.__vccOpts||i)[t];u&&s.push(Lt(u,n,r,l,a,o))}else{let c=i();s.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${l.path}"`));const d=Cd(u)?u.default:u;l.components[a]=d;const v=(d.__vccOpts||d)[t];return v&&Lt(v,n,r,l,a,o)()}))}}return s}function gp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ol(e){const t=Re(Jr),n=Re(hs),r=T(()=>t.resolve(Gt(e.to))),o=T(()=>{const{matched:i}=r.value,{length:c}=i,u=i[c-1],d=n.matched;if(!u||!d.length)return-1;const p=d.findIndex(gn.bind(null,u));if(p>-1)return p;const v=$l(i[c-2]);return c>1&&$l(u)===v&&d[d.length-1].path!==v?d.findIndex(gn.bind(null,i[c-2])):p}),s=T(()=>o.value>-1&&wp(n.params,r.value.params)),l=T(()=>o.value>-1&&o.value===n.matched.length-1&&di(n.params,r.value.params));function a(i={}){return _p(i)?t[Gt(e.replace)?"replace":"push"](Gt(e.to)).catch(Hn):Promise.resolve()}return{route:r,href:T(()=>r.value.href),isActive:s,isExactActive:l,navigate:a}}const bp=z({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ol,setup(e,{slots:t}){const n=er(Ol(e)),{options:r}=Re(Jr),o=T(()=>({[Ml(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ml(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:f("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),yp=bp;function _p(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wp(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!st(o)||o.length!==r.length||r.some((s,l)=>s!==o[l]))return!1}return!0}function $l(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ml=(e,t,n)=>e??t??n,Ep=z({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Re(No),o=T(()=>e.route||r.value),s=Re(Pl,0),l=T(()=>{let c=Gt(s);const{matched:u}=o.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=T(()=>o.value.matched[l.value]);un(Pl,T(()=>l.value+1)),un(mp,a),un(No,o);const i=te();return ae(()=>[i.value,a.value,e.name],([c,u,d],[p,v,g])=>{u&&(u.instances[d]=c,v&&v!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=v.leaveGuards),u.updateGuards.size||(u.updateGuards=v.updateGuards))),c&&u&&(!v||!gn(u,v)||!p)&&(u.enterCallbacks[d]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=o.value,u=e.name,d=a.value,p=d&&d.components[u];if(!p)return Nl(n.default,{Component:p,route:c});const v=d.props[u],g=v?v===!0?c.params:typeof v=="function"?v(c):v:null,_=f(p,ue({},g,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(d.instances[u]=null)},ref:i}));return Nl(n.default,{Component:_,route:c})||_}}});function Nl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Cp=Ep;function kp(e){const t=up(e.routes,e),n=e.parseQuery||hp,r=e.stringifyQuery||Rl,o=e.history,s=Tn(),l=Tn(),a=Tn(),i=He(vt);let c=vt;nn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=po.bind(null,A=>""+A),d=po.bind(null,Nd),p=po.bind(null,qn);function v(A,j){let F,W;return hi(A)?(F=t.getRecordMatcher(A),W=j):W=A,t.addRoute(W,F)}function g(A){const j=t.getRecordMatcher(A);j&&t.removeRoute(j)}function E(){return t.getRoutes().map(A=>A.record)}function _(A){return!!t.getRecordMatcher(A)}function y(A,j){if(j=ue({},j||i.value),typeof A=="string"){const m=ho(n,A,j.path),w=t.resolve({path:m.path},j),L=o.createHref(m.fullPath);return ue(m,w,{params:p(w.params),hash:qn(m.hash),redirectedFrom:void 0,href:L})}let F;if(A.path!=null)F=ue({},A,{path:ho(n,A.path,j.path).path});else{const m=ue({},A.params);for(const w in m)m[w]==null&&delete m[w];F=ue({},A,{params:d(m)}),j.params=d(j.params)}const W=t.resolve(F,j),ie=A.hash||"";W.params=u(p(W.params));const pe=Fd(r,ue({},A,{hash:Od(ie),path:W.path})),h=o.createHref(pe);return ue({fullPath:pe,hash:ie,query:r===Rl?vp(A.query):A.query||{}},W,{redirectedFrom:void 0,href:h})}function C(A){return typeof A=="string"?ho(n,A,i.value.path):ue({},A)}function b(A,j){if(c!==A)return bn(8,{from:j,to:A})}function S(A){return N(A)}function D(A){return S(ue(C(A),{replace:!0}))}function k(A){const j=A.matched[A.matched.length-1];if(j&&j.redirect){const{redirect:F}=j;let W=typeof F=="function"?F(A):F;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=C(W):{path:W},W.params={}),ue({query:A.query,hash:A.hash,params:W.path!=null?{}:A.params},W)}}function N(A,j){const F=c=y(A),W=i.value,ie=A.state,pe=A.force,h=A.replace===!0,m=k(F);if(m)return N(ue(C(m),{state:typeof m=="object"?ue({},ie,m.state):ie,force:pe,replace:h}),j||F);const w=F;w.redirectedFrom=j;let L;return!pe&&Bd(r,W,F)&&(L=bn(16,{to:w,from:W}),at(W,W,!0,!1)),(L?Promise.resolve(L):R(w,W)).catch(x=>pt(x)?pt(x,2)?x:_t(x):U(x,w,W)).then(x=>{if(x){if(pt(x,2))return N(ue({replace:h},C(x.to),{state:typeof x.to=="object"?ue({},ie,x.to.state):ie,force:pe}),j||w)}else x=M(w,W,!0,h,ie);return Y(w,W,x),x})}function P(A,j){const F=b(A,j);return F?Promise.reject(F):Promise.resolve()}function K(A){const j=en.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(A):A()}function R(A,j){let F;const[W,ie,pe]=Sp(A,j);F=vo(W.reverse(),"beforeRouteLeave",A,j);for(const m of W)m.leaveGuards.forEach(w=>{F.push(Lt(w,A,j))});const h=P.bind(null,A,j);return F.push(h),$e(F).then(()=>{F=[];for(const m of s.list())F.push(Lt(m,A,j));return F.push(h),$e(F)}).then(()=>{F=vo(ie,"beforeRouteUpdate",A,j);for(const m of ie)m.updateGuards.forEach(w=>{F.push(Lt(w,A,j))});return F.push(h),$e(F)}).then(()=>{F=[];for(const m of pe)if(m.beforeEnter)if(st(m.beforeEnter))for(const w of m.beforeEnter)F.push(Lt(w,A,j));else F.push(Lt(m.beforeEnter,A,j));return F.push(h),$e(F)}).then(()=>(A.matched.forEach(m=>m.enterCallbacks={}),F=vo(pe,"beforeRouteEnter",A,j,K),F.push(h),$e(F))).then(()=>{F=[];for(const m of l.list())F.push(Lt(m,A,j));return F.push(h),$e(F)}).catch(m=>pt(m,8)?m:Promise.reject(m))}function Y(A,j,F){a.list().forEach(W=>K(()=>W(A,j,F)))}function M(A,j,F,W,ie){const pe=b(A,j);if(pe)return pe;const h=j===vt,m=nn?history.state:{};F&&(W||h?o.replace(A.fullPath,ue({scroll:h&&m&&m.scroll},ie)):o.push(A.fullPath,ie)),i.value=A,at(A,j,F,h),_t()}let X;function ye(){X||(X=o.listen((A,j,F)=>{if(!pr.listening)return;const W=y(A),ie=k(W);if(ie){N(ue(ie,{replace:!0}),W).catch(Hn);return}c=W;const pe=i.value;nn&&Kd(Cl(pe.fullPath,F.delta),Yr()),R(W,pe).catch(h=>pt(h,12)?h:pt(h,2)?(N(h.to,W).then(m=>{pt(m,20)&&!F.delta&&F.type===Gn.pop&&o.go(-1,!1)}).catch(Hn),Promise.reject()):(F.delta&&o.go(-F.delta,!1),U(h,W,pe))).then(h=>{h=h||M(W,pe,!1),h&&(F.delta&&!pt(h,8)?o.go(-F.delta,!1):F.type===Gn.pop&&pt(h,20)&&o.go(-1,!1)),Y(W,pe,h)}).catch(Hn)}))}let _e=Tn(),q=Tn(),ne;function U(A,j,F){_t(A);const W=q.list();return W.length?W.forEach(ie=>ie(A,j,F)):console.error(A),Promise.reject(A)}function tt(){return ne&&i.value!==vt?Promise.resolve():new Promise((A,j)=>{_e.add([A,j])})}function _t(A){return ne||(ne=!A,ye(),_e.list().forEach(([j,F])=>A?F(A):j()),_e.reset()),A}function at(A,j,F,W){const{scrollBehavior:ie}=e;if(!nn||!ie)return Promise.resolve();const pe=!F&&Yd(Cl(A.fullPath,0))||(W||!F)&&history.state&&history.state.scroll||null;return Xt().then(()=>ie(A,j,pe)).then(h=>h&&Gd(h)).catch(h=>U(h,A,j))}const Fe=A=>o.go(A);let Zt;const en=new Set,pr={currentRoute:i,listening:!0,addRoute:v,removeRoute:g,hasRoute:_,getRoutes:E,resolve:y,options:e,push:S,replace:D,go:Fe,back:()=>Fe(-1),forward:()=>Fe(1),beforeEach:s.add,beforeResolve:l.add,afterEach:a.add,onError:q.add,isReady:tt,install(A){const j=this;A.component("RouterLink",yp),A.component("RouterView",Cp),A.config.globalProperties.$router=j,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>Gt(i)}),nn&&!Zt&&i.value===vt&&(Zt=!0,S(o.location).catch(ie=>{}));const F={};for(const ie in vt)Object.defineProperty(F,ie,{get:()=>i.value[ie],enumerable:!0});A.provide(Jr,j),A.provide(hs,va(F)),A.provide(No,i);const W=A.unmount;en.add(A),A.unmount=function(){en.delete(A),en.size<1&&(c=vt,X&&X(),X=null,i.value=vt,Zt=!1,ne=!1),W()}}};function $e(A){return A.reduce((j,F)=>j.then(()=>K(F)),Promise.resolve())}return pr}function Sp(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let l=0;lgn(c,a))?r.push(a):n.push(a));const i=e.matched[l];i&&(t.matched.find(c=>gn(c,i))||o.push(i))}return[n,r,o]}function Dt(){return Re(Jr)}function Qt(){return Re(hs)}var vs=Symbol(""),dt=()=>{const e=Re(vs);if(!e)throw new Error("useClientData() is called without provider.");return e},xp=()=>dt().pageComponent,ge=()=>dt().pageData,Ce=()=>dt().pageFrontmatter,Tp=()=>dt().pageHead,gi=()=>dt().pageLang,Ap=()=>dt().pageLayout,wn=()=>dt().routeLocale,Lp=()=>dt().routes,bi=()=>dt().siteData,ms=()=>dt().siteLocaleData,Ip=Symbol(""),yi=He(wd),Kn=He(Ed),_i=e=>{const t=gd(e);if(Kn.value[t])return t;const n=encodeURI(t);return Kn.value[n]?n:yi.value[t]||t},Xr=e=>{const t=_i(e),n=Kn.value[t]??{...Kn.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},Qr=z({name:"ClientOnly",setup(e,t){const n=te(!1);return be(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),wi=z({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=xp(),n=T(()=>{if(!e.path)return t.value;const r=Xr(e.path);return Hu(()=>r.loader().then(({comp:o})=>o))});return()=>f(n.value)}}),Ie=e=>Nt(e)?e:`/navigator_jyutping/${li(e)}`,Rp=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Ve=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var a;const s=Dt(),l=Ie(_i(n));return f("a",{...r,class:["route-link",{[t]:e}],href:l,onClick:(i={})=>{Rp(i)?s.push(n).catch():Promise.resolve()}},(a=o.default)==null?void 0:a.call(o))};Ve.displayName="RouteLink";Ve.props={active:Boolean,activeClass:String,to:String};var Pp="Layout",Op="en-US",jt=er({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=we(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return hd(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Op,resolvePageLayout:(e,t)=>{const n=we(e.frontmatter.layout)?e.frontmatter.layout:Pp;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>bd(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});const $p={};var lt=(e={})=>e;const En=e=>{const t=wn();return T(()=>e[t.value]??{})},je=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||or())==null?void 0:r.appContext.components;return n?e in n||et(e)in n||Zn(et(e))in n:!1},Ei=e=>new Promise(t=>setTimeout(t,e)),Mp=e=>typeof e<"u",mo=e=>typeof e=="number",Do=Array.isArray,Yn=(e,t)=>we(e)&&e.startsWith(t),Np=(e,t)=>we(e)&&e.endsWith(t),gs=Object.entries,Dp=Object.fromEntries,ir=Object.keys,Hp=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},bs=e=>Yn(e,"/");function Ci(e,t){let n,r,o;const s=te(!0),l=()=>{s.value=!0,o()};ae(e,l,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,c=os((u,d)=>(r=u,o=d,{get(){return s.value&&(n=a(),s.value=!1),r(),n},set(p){i==null||i(p)}}));return Object.isExtensible(c)&&(c.trigger=l),c}function Cn(e){return ra()?(Uc(e),!0):!1}function Pe(e){return typeof e=="function"?e():Gt(e)}const cr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Fp=Object.prototype.toString,Bp=e=>Fp.call(e)==="[object Object]",Kt=()=>{},Dl=jp();function jp(){var e,t;return cr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ys(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const ki=e=>e();function Vp(e,t={}){let n,r,o=Kt;const s=a=>{clearTimeout(a),o(),o=Kt};return a=>{const i=Pe(e),c=Pe(t.maxWait);return n&&s(n),i<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((u,d)=>{o=t.rejectOnCancel?d:u,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,u(a())},c)),n=setTimeout(()=>{r&&s(r),r=null,u(a())},i)})}}function zp(...e){let t=0,n,r=!0,o=Kt,s,l,a,i,c;!Le(e[0])&&typeof e[0]=="object"?{delay:l,trailing:a=!0,leading:i=!0,rejectOnCancel:c=!1}=e[0]:[l,a=!0,i=!0,c=!1]=e;const u=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Kt)};return p=>{const v=Pe(l),g=Date.now()-t,E=()=>s=p();return u(),v<=0?(t=Date.now(),E()):(g>v&&(i||!r)?(t=Date.now(),E()):a&&(s=new Promise((_,y)=>{o=c?y:_,n=setTimeout(()=>{t=Date.now(),r=!0,_(E()),u()},Math.max(0,v-g))})),!i&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function Wp(e=ki){const t=te(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:tr(t),pause:n,resume:r,eventFilter:o}}function Up(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Si(e){return e||or()}function qp(...e){if(e.length!==1)return Wr(...e);const t=e[0];return typeof t=="function"?tr(os(()=>({get:t,set:Kt}))):te(t)}function Gp(e,t=200,n={}){return ys(Vp(t,n),e)}function Kp(e,t=200,n=!1,r=!0,o=!1){return ys(zp(t,n,r,o),e)}function Yp(e,t,n={}){const{eventFilter:r=ki,...o}=n;return ae(e,ys(r,t),o)}function Jp(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:l,resume:a,isActive:i}=Wp(r);return{stop:Yp(e,t,{...o,eventFilter:s}),pause:l,resume:a,isActive:i}}function Zr(e,t=!0,n){Si()?be(e,n):t?e():Xt(e)}function Xp(e,t){Si(t)&&_n(e,t)}function Qp(e,t,n={}){const{immediate:r=!0}=n,o=te(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,l()}function i(...c){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},Pe(t))}return r&&(o.value=!0,cr&&i()),Cn(a),{isPending:tr(o),start:i,stop:a}}function Ho(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Le(e),s=te(e);function l(a){if(arguments.length)return s.value=a,s.value;{const i=Pe(n);return s.value=s.value===i?Pe(r):i,s.value}}return o?l:[s,l]}function gt(e){var t;const n=Pe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Mt=cr?window:void 0,xi=cr?window.document:void 0,Ti=cr?window.navigator:void 0;function Oe(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Mt):[t,n,r,o]=e,!t)return Kt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],l=()=>{s.forEach(u=>u()),s.length=0},a=(u,d,p,v)=>(u.addEventListener(d,p,v),()=>u.removeEventListener(d,p,v)),i=ae(()=>[gt(t),Pe(o)],([u,d])=>{if(l(),!u)return;const p=Bp(d)?{...d}:d;s.push(...n.flatMap(v=>r.map(g=>a(u,v,g,p))))},{immediate:!0,flush:"post"}),c=()=>{i(),l()};return Cn(c),c}function Zp(){const e=te(!1),t=or();return t&&be(()=>{e.value=!0},t),e}function ur(e){const t=Zp();return T(()=>(t.value,!!e()))}function Ai(e,t={}){const{window:n=Mt}=t,r=ur(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=te(!1),l=c=>{s.value=c.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",l):o.removeListener(l))},i=Aa(()=>{r.value&&(a(),o=n.matchMedia(Pe(e)),"addEventListener"in o?o.addEventListener("change",l):o.addListener(l),s.value=o.matches)});return Cn(()=>{i(),a(),o=void 0}),s}function Hl(e,t={}){const{controls:n=!1,navigator:r=Ti}=t,o=ur(()=>r&&"permissions"in r);let s;const l=typeof e=="string"?{name:e}:e,a=te(),i=()=>{s&&(a.value=s.state)},c=Up(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(l),Oe(s,"change",i),i()}catch{a.value="prompt"}return s}});return c(),n?{state:a,isSupported:o,query:c}:a}function eh(e={}){const{navigator:t=Ti,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,l=ur(()=>t&&"clipboard"in t),a=Hl("clipboard-read"),i=Hl("clipboard-write"),c=T(()=>l.value||s),u=te(""),d=te(!1),p=Qp(()=>d.value=!1,o);function v(){l.value&&y(a.value)?t.clipboard.readText().then(C=>{u.value=C}):u.value=_()}c.value&&n&&Oe(["copy","cut"],v);async function g(C=Pe(r)){c.value&&C!=null&&(l.value&&y(i.value)?await t.clipboard.writeText(C):E(C),u.value=C,d.value=!0,p.start())}function E(C){const b=document.createElement("textarea");b.value=C??"",b.style.position="absolute",b.style.opacity="0",document.body.appendChild(b),b.select(),document.execCommand("copy"),b.remove()}function _(){var C,b,S;return(S=(b=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:b.toString())!=null?S:""}function y(C){return C==="granted"||C==="prompt"}return{isSupported:c,text:u,copied:d,copy:g}}const Cr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},kr="__vueuse_ssr_handlers__",th=nh();function nh(){return kr in Cr||(Cr[kr]=Cr[kr]||{}),Cr[kr]}function rh(e,t){return th[e]||t}function oh(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const sh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Fl="vueuse-storage";function _s(e,t,n,r={}){var o;const{flush:s="pre",deep:l=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:u,window:d=Mt,eventFilter:p,onError:v=R=>{console.error(R)},initOnMounted:g}=r,E=(u?He:te)(typeof t=="function"?t():t);if(!n)try{n=rh("getDefaultStorage",()=>{var R;return(R=Mt)==null?void 0:R.localStorage})()}catch(R){v(R)}if(!n)return E;const _=Pe(t),y=oh(_),C=(o=r.serializer)!=null?o:sh[y],{pause:b,resume:S}=Jp(E,()=>k(E.value),{flush:s,deep:l,eventFilter:p});d&&a&&Zr(()=>{Oe(d,"storage",P),Oe(d,Fl,K),g&&P()}),g||P();function D(R,Y){d&&d.dispatchEvent(new CustomEvent(Fl,{detail:{key:e,oldValue:R,newValue:Y,storageArea:n}}))}function k(R){try{const Y=n.getItem(e);if(R==null)D(Y,null),n.removeItem(e);else{const M=C.write(R);Y!==M&&(n.setItem(e,M),D(Y,M))}}catch(Y){v(Y)}}function N(R){const Y=R?R.newValue:n.getItem(e);if(Y==null)return i&&_!=null&&n.setItem(e,C.write(_)),_;if(!R&&c){const M=C.read(Y);return typeof c=="function"?c(M,_):y==="object"&&!Array.isArray(M)?{..._,...M}:M}else return typeof Y!="string"?Y:C.read(Y)}function P(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){E.value=_;return}if(!(R&&R.key!==e)){b();try{(R==null?void 0:R.newValue)!==C.write(E.value)&&(E.value=N(R))}catch(Y){v(Y)}finally{R?Xt(S):S()}}}}function K(R){P(R.detail)}return E}function lh(e){return Ai("(prefers-color-scheme: dark)",e)}function ah(e,t,n={}){const{window:r=Mt,...o}=n;let s;const l=ur(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=T(()=>Array.isArray(e)?e.map(d=>gt(d)):[gt(e)]),c=ae(i,d=>{if(a(),l.value&&r){s=new ResizeObserver(t);for(const p of d)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),u=()=>{a(),c()};return Cn(u),{isSupported:l,stop:u}}function ih(e,t={width:0,height:0},n={}){const{window:r=Mt,box:o="content-box"}=n,s=T(()=>{var d,p;return(p=(d=gt(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),l=te(t.width),a=te(t.height),{stop:i}=ah(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&s.value){const v=gt(e);if(v){const g=r.getComputedStyle(v);l.value=Number.parseFloat(g.width),a.value=Number.parseFloat(g.height)}}else if(p){const v=Array.isArray(p)?p:[p];l.value=v.reduce((g,{inlineSize:E})=>g+E,0),a.value=v.reduce((g,{blockSize:E})=>g+E,0)}else l.value=d.contentRect.width,a.value=d.contentRect.height},n);Zr(()=>{const d=gt(e);d&&(l.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const c=ae(()=>gt(e),d=>{l.value=d?t.width:0,a.value=d?t.height:0});function u(){i(),c()}return{width:l,height:a,stop:u}}const Bl=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function ws(e,t={}){const{document:n=xi,autoExit:r=!1}=t,o=T(()=>{var y;return(y=gt(e))!=null?y:n==null?void 0:n.querySelector("html")}),s=te(!1),l=T(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),a=T(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),i=T(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||o.value&&y in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),u=ur(()=>o.value&&n&&l.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const y=o.value;if((y==null?void 0:y[i.value])!=null)return!!y[i.value]}}return!1};async function v(){if(!(!u.value||!s.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const y=o.value;(y==null?void 0:y[a.value])!=null&&await y[a.value]()}s.value=!1}}async function g(){if(!u.value||s.value)return;p()&&await v();const y=o.value;l.value&&(y==null?void 0:y[l.value])!=null&&(await y[l.value](),s.value=!0)}async function E(){await(s.value?v():g())}const _=()=>{const y=p();(!y||y&&d())&&(s.value=y)};return Oe(n,Bl,_,!1),Oe(()=>gt(o),Bl,_,!1),r&&Cn(v),{isSupported:u,isFullscreen:s,enter:g,exit:v,toggle:E}}function go(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function bo(e,t=Kt,n={}){const{immediate:r=!0,manual:o=!1,type:s="text/javascript",async:l=!0,crossOrigin:a,referrerPolicy:i,noModule:c,defer:u,document:d=xi,attrs:p={}}=n,v=te(null);let g=null;const E=C=>new Promise((b,S)=>{const D=P=>(v.value=P,b(P),P);if(!d){b(!1);return}let k=!1,N=d.querySelector(`script[src="${Pe(e)}"]`);N?N.hasAttribute("data-loaded")&&D(N):(N=d.createElement("script"),N.type=s,N.async=l,N.src=Pe(e),u&&(N.defer=u),a&&(N.crossOrigin=a),c&&(N.noModule=c),i&&(N.referrerPolicy=i),Object.entries(p).forEach(([P,K])=>N==null?void 0:N.setAttribute(P,K)),k=!0),N.addEventListener("error",P=>S(P)),N.addEventListener("abort",P=>S(P)),N.addEventListener("load",()=>{N.setAttribute("data-loaded","true"),t(N),D(N)}),k&&(N=d.head.appendChild(N)),C||D(N)}),_=(C=!0)=>(g||(g=E(C)),g),y=()=>{if(!d)return;g=null,v.value&&(v.value=null);const C=d.querySelector(`script[src="${Pe(e)}"]`);C&&d.head.removeChild(C)};return r&&!o&&Zr(_),o||Xp(y),{scriptTag:v,load:_,unload:y}}function Li(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Sr=new WeakMap;function Ii(e,t=!1){const n=te(t);let r=null;ae(qp(e),l=>{const a=go(Pe(l));if(a){const i=a;Sr.get(i)||Sr.set(i,i.style.overflow),n.value&&(i.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=go(Pe(e));!l||n.value||(Dl&&(r=Oe(l,"touchmove",a=>{ch(a)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},s=()=>{var l;const a=go(Pe(e));!a||!n.value||(Dl&&(r==null||r()),a.style.overflow=(l=Sr.get(a))!=null?l:"",Sr.delete(a),n.value=!1)};return Cn(s),T({get(){return n.value},set(l){l?o():s()}})}function uh(e={}){const{window:t=Mt,behavior:n="auto"}=e;if(!t)return{x:te(0),y:te(0)};const r=te(t.scrollX),o=te(t.scrollY),s=T({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),l=T({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return Oe(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:l}}function fh(e={}){const{window:t=Mt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,l=te(n),a=te(r),i=()=>{t&&(s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),Zr(i),Oe("resize",i,{passive:!0}),o){const c=Ai("(orientation: portrait)");ae(c,()=>i())}return{width:l,height:a}}var dh=z({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=T(()=>{const r=["font-icon icon"],o=`fas fa-${e.icon}`;return r.push("fa-fw fa-sm"),r.push(e.icon.includes(" ")?e.icon:o),r}),n=T(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),ir(r).length?r:null});return()=>e.icon?f("span",{key:e.icon,class:t.value,style:n.value}):null}});const Ri=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var s;return f("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((s=o.default)==null?void 0:s.call(o))||t)};Ri.displayName="Badge";const Pi=({title:e,desc:t="",logo:n,background:r,color:o,link:s})=>{const l=[n?f("img",{class:"vp-card-logo",src:Ie(n),loading:"lazy","no-view":""}):null,f("div",{class:"vp-card-content"},[f("div",{class:"vp-card-title",innerHTML:e}),f("hr"),f("div",{class:"vp-card-desc",innerHTML:t})])],a={};return r&&(a.background=r),o&&(a.color=o),s?mn(s)?f("a",{class:"vp-card",href:s,target:"_blank",style:a},l):f(Ve,{to:s,class:"vp-card",style:a},()=>l):f("div",{class:"vp-card",style:a},l)};Pi.displayName="VPCard";const ke=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return f("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(r=n.default)==null?void 0:r.call(n))};ke.displayName="IconBase";const Oi=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},Es=()=>f(ke,{name:"github"},()=>f("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));Es.displayName="GitHubIcon";const Cs=()=>f(ke,{name:"gitlab"},()=>f("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));Cs.displayName="GitLabIcon";const ks=()=>f(ke,{name:"gitee"},()=>f("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));ks.displayName="GiteeIcon";const Ss=()=>f(ke,{name:"bitbucket"},()=>f("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));Ss.displayName="BitbucketIcon";const xs=()=>f(ke,{name:"source"},()=>f("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));xs.displayName="SourceIcon";const $i=(e,t)=>{let n=1;for(let r=0;r>6;return n+=n<<3,n^=n>>11,n%t},Mi=/#.*$/u,ph=e=>{const t=Mi.exec(e);return t?t[0]:""},jl=e=>decodeURI(e).replace(Mi,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),Ni=(e,t)=>{if(!Mp(t))return!1;const n=jl(e.path),r=jl(t),o=ph(t);return o?o===e.hash&&(!r||n===r):n===r},hh=e=>Nt(e)?e:`https://github.com/${e}`,Ts=e=>!Nt(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null;var vh=e=>Object.prototype.toString.call(e)==="[object Object]",Jn=e=>typeof e=="string";const Di=Array.isArray,Vl=e=>vh(e)&&Jn(e.name),zl=(e,t=!1)=>e?Di(e)?e.map(n=>Jn(n)?{name:n}:Vl(n)?n:null).filter(n=>n!==null):Jn(e)?[{name:e}]:Vl(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Hi=(e,t)=>{if(e){if(Di(e)&&e.every(Jn))return e;if(Jn(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},mh=e=>Hi(e,"category"),gh=e=>Hi(e,"tag");var bh={"/":{source:"源代碼"}},yh=z({name:"SiteInfo",components:{BitbucketIcon:Ss,GiteeIcon:ks,GitHubIcon:Es,GitLabIcon:Cs,SourceIcon:xs},props:{name:{type:String,required:!0},desc:{type:String,default:""},logo:{type:String,default:""},url:{type:String,required:!0},preview:{type:String,required:!0},repo:{type:String,default:""}},setup(e){const t=En(bh),n=T(()=>e.repo?Ts(e.repo):null);return()=>f("div",{class:"vp-site-info","data-name":e.name},[f("a",{class:"vp-site-info-navigator",title:e.name,href:e.url,target:"_blank"}),f("div",{class:"vp-site-info-preview",style:{background:`url(${Ie(e.preview)}) center/cover no-repeat`}}),f("div",{class:"vp-site-info-detail"},[e.logo?f("img",{class:"vp-site-info-logo",src:e.logo,alt:"",loading:"lazy","no-view":""}):null,f("div",{class:"vp-site-info-name"},e.name),f("div",{class:"vp-site-info-desc"},e.desc)]),e.repo?f("div",{class:"vp-site-info-source-wrapper"},f("a",{class:"vp-site-info-source",href:e.repo,"aria-label":t.value.source,"data-balloon-pos":"left",title:t.value.source,target:"_blank"},f(Ze(`${n.value}Icon`)))):null])}});const Wl=e=>Nt(e)?e:Ie(e);var _h=z({name:"VidStack",props:{sources:{type:Array,default:()=>[]},tracks:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return be(async()=>{await Promise.all([ce(()=>import("./vidstack-player-D_oHjycC.js"),__vite__mapDeps([28,29])),ce(()=>import("./vidstack-player-layouts-7M5XCWBh.js"),__vite__mapDeps([30,29,31])),ce(()=>import("./vidstack-player-ui-FKGFxmC6.js"),__vite__mapDeps([32,29,31]))])}),()=>f("media-player",t,[f("media-provider",[t.poster?f("media-poster",{class:"vds-poster",alt:t.alt||t.title}):null,e.sources.map(n=>ar(n)?f("source",{...n,src:Wl(n.src)}):f("source",{src:Wl(n)})),e.tracks.map(n=>f("track",n))]),f("media-audio-layout"),f("media-video-layout",t)])}});const wh=lt({enhance:({app:e})=>{je("FontIcon")||e.component("FontIcon",dh),je("Badge")||e.component("Badge",Ri),je("VPCard")||e.component("VPCard",Pi),je("SiteInfo")||e.component("SiteInfo",yh),je("VidStack")||e.component("VidStack",_h)},setup:()=>{bo("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/brands.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}}),bo("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/solid.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}}),bo("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/fontawesome.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}})},rootComponents:[]}),Ul=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},Eh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=Dt();Oe("scroll",Gp(()=>{var g,E;const l=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(l-0)d.some(y=>y.hash===_.hash));for(let _=0;_=(((g=y.parentElement)==null?void 0:g.offsetTop)??0)-r,S=!C||l<(((E=C.parentElement)==null?void 0:E.offsetTop)??0)-r;if(!(b&&S))continue;const k=decodeURIComponent(o.currentRoute.value.hash),N=decodeURIComponent(y.hash);if(k===N)return;if(u){for(let P=_+1;Pwe(e.title)?{title:e.title}:null;const Bi=Symbol(""),Ah=e=>{Fi=e},Lh=()=>Re(Bi),Ih=e=>{e.provide(Bi,Fi)};var Rh={"/":{title:"目錄",empty:"暫無目錄"}};const Ph=z({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=Lh(),n=En(Rh),r=ge(),o=Lp(),s=bi(),a=He(gs(o.value).map(([c,{meta:u}])=>{const d=t(u);if(!d)return null;const p=c.split("/").length;return{level:Np(c,"/")?p-2:p-1,base:c.replace(/\/[^/]+\/?$/,"/"),path:c,...d}}).filter(c=>ar(c)&&we(c.title))),i=T(()=>{const c=e.base?vd(oi(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),u=c.split("/").length-2,d=[];return a.value.filter(({level:p,path:v})=>{if(!Yn(v,c)||v===c)return!1;if(c==="/"){const g=ir(s.value.locales).filter(E=>E!=="/");if(v==="/404.html"||g.some(E=>Yn(v,E)))return!1}return p-u<=e.level}).sort(({title:p,level:v,order:g},{title:E,level:_,order:y})=>{const C=v-_;return C||(mo(g)?mo(y)?g>0?y>0?g-y:-1:y<0?g-y:1:g:mo(y)?y:p.localeCompare(E))}).forEach(p=>{var E;const{base:v,level:g}=p;switch(g-u){case 1:{d.push(p);break}case 2:{const _=d.find(y=>y.path===v);_&&(_.children??(_.children=[])).push(p);break}default:{const _=d.find(y=>y.path===v.replace(/\/[^/]+\/$/,"/"));if(_){const y=(E=_.children)==null?void 0:E.find(C=>C.path===v);y&&(y.children??(y.children=[])).push(p)}}}}),d});return()=>{const c=i.value.some(u=>u.children);return f("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:f("h2",{class:"vp-catalog-main-title"},n.value.title),i.value.length?f(e.index?"ol":"ul",{class:["vp-catalogs",{deep:c}]},i.value.map(({children:u=[],title:d,path:p,content:v})=>{const g=f(Ve,{class:"vp-catalog-title",to:p},()=>v?f(v):d);return f("li",{class:"vp-catalog"},c?[f("h3",{id:d,class:["vp-catalog-child-title",{"has-children":u.length}]},[f("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),g]),u.length?f(e.index?"ol":"ul",{class:"vp-child-catalogs"},u.map(({children:E=[],content:_,path:y,title:C})=>f("li",{class:"vp-child-catalog"},[f("div",{class:["vp-catalog-sub-title",{"has-children":E.length}]},[f("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),f(Ve,{class:"vp-catalog-title",to:y},()=>_?f(_):C)]),E.length?f(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},E.map(({content:b,path:S,title:D})=>e.index?f("li",{class:"vp-sub-catalog"},f(Ve,{to:S},()=>b?f(b):D)):f(Ve,{class:"vp-sub-catalog-link",to:S},()=>b?f(b):D))):null]))):null]:f("div",{class:"vp-catalog-child-title"},g))})):f("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),Oh=lt({enhance:({app:e})=>{Ih(e),je("Catalog",e)||e.component("Catalog",Ph)}});var $h={"/":{backToTop:"返回頂部"}};const Mh=z({name:"BackToTop",setup(e){const t=Ce(),n=En($h),r=He(),{height:o}=ih(r),{height:s}=fh(),{y:l}=uh(),a=T(()=>t.value.backToTop!==!1&&l.value>100),i=T(()=>l.value/(o.value-s.value)*100);return be(()=>{r.value=document.body}),()=>f($t,{name:"back-to-top"},()=>a.value?f("button",{type:"button",class:"vp-back-to-top-button","aria-label":n.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[f("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":i.value},f("svg",f("circle",{cx:"50%",cy:"50%",style:{"stroke-dasharray":`calc(${Math.PI*i.value}% - ${4*Math.PI}px) calc(${Math.PI*100}% - ${4*Math.PI}px)`}}))),f("div",{class:"back-to-top-icon"})]):null)}}),Nh=lt({rootComponents:[Mh]}),Dh=f("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[f("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),f("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),ji=z({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=wn(),n=T(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>f("span",[Dh,f("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var Hh={};const Fh=Hh,Bh=lt({enhance({app:e}){e.component("ExternalLinkIcon",f(ji,{locales:Fh}))}});/** * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT */const se={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=se.isStarted();e=yo(e,se.settings.minimum,1),se.status=e===1?null:e;const n=se.render(!t),r=n.querySelector(se.settings.barSelector),o=se.settings.speed,s=se.settings.easing;return n.offsetWidth,jh(l=>{xr(r,{transform:"translate3d("+ql(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(xr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){xr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){se.remove(),l()},o)},o)):setTimeout(()=>l(),o)}),se},isStarted:()=>typeof se.status=="number",start:()=>{se.status||se.set(0);const e=()=>{setTimeout(()=>{se.status&&(se.trickle(),e())},se.settings.trickleSpeed)};return se.settings.trickle&&e(),se},done:e=>!e&&!se.status?se:se.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=se.status;return t?(typeof e!="number"&&(e=(1-t)*yo(Math.random()*t,.1,.95)),t=yo(t+e,0,.994),se.set(t)):se.start()},trickle:()=>se.inc(Math.random()*se.settings.trickleRate),render:e=>{if(se.isRendered())return document.getElementById("nprogress");Gl(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=se.settings.template;const n=t.querySelector(se.settings.barSelector),r=e?"-100":ql(se.status||0),o=document.querySelector(se.settings.parent);return xr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Gl(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Kl(document.documentElement,"nprogress-busy"),Kl(document.querySelector(se.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&Vh(e)},isRendered:()=>!!document.getElementById("nprogress")},yo=(e,t,n)=>en?n:e,ql=e=>(-1+e)*100,jh=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),xr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(l){return l.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,i){return i.toUpperCase()})}function r(l){const a=document.body.style;if(l in a)return l;let i=e.length;const c=l.charAt(0).toUpperCase()+l.slice(1);let u;for(;i--;)if(u=e[i]+c,u in a)return u;return l}function o(l){return l=n(l),t[l]??(t[l]=r(l))}function s(l,a,i){a=o(a),l.style[a]=i}return function(l,a){for(const i in a){const c=a[i];c!==void 0&&Object.prototype.hasOwnProperty.call(a,i)&&s(l,i,c)}}}(),Vi=(e,t)=>(typeof e=="string"?e:As(e)).indexOf(" "+t+" ")>=0,Gl=(e,t)=>{const n=As(e),r=n+t;Vi(n,t)||(e.className=r.substring(1))},Kl=(e,t)=>{const n=As(e);if(!Vi(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},As=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),Vh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},zh=()=>{be(()=>{const e=Dt(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||se.start()}),e.afterEach(n=>{t.add(n.path),se.done()})})},Wh=lt({setup(){zh()}}),Uh=JSON.parse('{"encrypt":{},"author":{"name":"AvalonC","url":"https://avalonc.github.io"},"logo":"logo.png","repo":"avalonc/navigator_jyutping","docsDir":"src","footer":"Navigator Jyutping","displayFooter":true,"locales":{"/":{"lang":"zh-TW","navbarLocales":{"langName":"繁體中文","selectLangAriaLabel":"選擇語言"},"metaLocales":{"author":"作者","date":"寫作日期","origin":"原創","views":"訪問量","category":"分類","tag":"標籤","readingTime":"閱讀時間","words":"字數","toc":"此頁內容","prev":"上一頁","next":"下一頁","lastUpdated":"上次編輯於","contributors":"貢獻者","editLink":"編輯此頁","print":"打印"},"outlookLocales":{"themeColor":"主題色","darkmode":"主題模式","fullscreen":"全屏"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"頁面不存在","notFoundMsg":["這裡什麼也沒有","我們是怎麼來到這兒的?","這 是 四 零 四 !","看起来你訪問了一個失效的鏈結"],"back":"返回上一頁","home":"帶我回家","openInNewWindow":"Open in new window"},"navbar":["/learning/","/practice/","/research/","/resource/","about"],"sidebar":{"/":[{"text":"粵拼學習","icon":"book","prefix":"learning/","link":"learning/","children":"structure"},{"text":"粵拼練習","icon":"highlighter","prefix":"practice/","link":"practice/","children":"structure"},{"text":"説文解字","icon":"person-chalkboard","prefix":"research/","link":"research/","children":"structure"},{"text":"資源分享","icon":"laptop-code","prefix":"resource/","link":"resource/","children":"structure"}]}}}}'),qh=te(Uh),zi=()=>qh,Wi=Symbol(""),Gh=()=>{const e=Re(Wi);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Kh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Yh=lt({enhance({app:e}){const t=zi(),n=e._context.provides[vs],r=T(()=>Kh(t.value,n.routeLocale.value));e.provide(Wi,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Jh=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,Xh=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&Jh.test(navigator.userAgent),Qh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:s,copied:l}=eh({legacy:!0,copiedDuring:t}),a=En(n),i=ge(),c=p=>{if(!p.hasAttribute("copy-code-registered")){const v=document.createElement("button");v.type="button",v.classList.add("vp-copy-code-button"),v.innerHTML='
',v.setAttribute("aria-label",a.value.copy),v.setAttribute("data-copied",a.value.copied),p.parentElement&&p.parentElement.insertBefore(v,p),p.setAttribute("copy-code-registered","")}},u=()=>{Xt().then(()=>Ei(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(c)})})},d=(p,v,g)=>{let{innerText:E=""}=v;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(E=E.replace(/^ *(\$|>) /gm,"")),s(E).then(()=>{g.classList.add("copied"),ae(l,()=>{g.classList.remove("copied"),g.blur()},{once:!0})})};be(()=>{const p=!Xh()||o;p&&u(),Oe("click",v=>{const g=v.target;if(g.matches('div[class*="language-"] > button.copy')){const E=g.parentElement,_=g.nextElementSibling;_&&d(E,_,g)}else if(g.matches('div[class*="language-"] div.vp-copy-icon')){const E=g.parentElement,_=E.parentElement,y=E.nextElementSibling;y&&d(_,y,E)}}),ae(()=>i.value.path,()=>{p&&u()})})};var Zh={"/":{copy:"複製代碼",copied:"已複製"}},ev=['.theme-hope-content div[class*="language-"] pre'];const tv=500,nv=2e3,rv=Zh,ov=ev,sv=!1,lv=lt({setup:()=>{Qh({selector:ov,locales:rv,duration:nv,delay:tv,showInMobile:sv})}}),Tr=_s("VUEPRESS_CODE_TAB_STORE",{});var av=z({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=te(e.active),r=He([]),o=()=>{e.tabId&&(Tr.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,u)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=u):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),l()),e.tabId&&(Tr.value[e.tabId]=e.data[n.value].id)},i=()=>{if(e.tabId){const c=e.data.findIndex(({id:u})=>Tr.value[e.tabId]===u);if(c!==-1)return c}return e.active};return be(()=>{n.value=i(),ae(()=>Tr.value[e.tabId],(c,u)=>{if(e.tabId&&c!==u){const d=e.data.findIndex(({id:p})=>p===c);d!==-1&&(n.value=d)}})}),()=>e.data.length?f("div",{class:"vp-code-tabs"},[f("div",{class:"vp-code-tabs-nav",role:"tablist"},e.data.map(({id:c},u)=>{const d=u===n.value;return f("button",{type:"button",ref:p=>{p&&(r.value[u]=p)},class:["vp-code-tab-nav",{active:d}],role:"tab","aria-controls":`codetab-${e.id}-${u}`,"aria-selected":d,onClick:()=>{n.value=u,o()},onKeydown:p=>a(p,u)},t[`title${u}`]({value:c,isActive:d}))})),e.data.map(({id:c},u)=>{const d=u===n.value;return f("div",{class:["vp-code-tab",{active:d}],id:`codetab-${e.id}-${u}`,role:"tabpanel","aria-expanded":d},[f("div",{class:"vp-code-tab-title"},t[`title${u}`]({value:c,isActive:d})),t[`tab${u}`]({value:c,isActive:d})])})]):null}});const Ui=({active:e=!1},{slots:t})=>{var n;return f("div",{class:["code-group-item",{active:e}],"aria-selected":e},(n=t.default)==null?void 0:n.call(t))};Ui.displayName="CodeGroupItem";const iv=z({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=te(-1),r=He([]),o=(a=n.value)=>{n.value=a{n.value=a>0?a-1:r.value.length-1,r.value[n.value].focus()},l=(a,i)=>{a.key===" "||a.key==="Enter"?(a.preventDefault(),n.value=i):a.key==="ArrowRight"?(a.preventDefault(),o(i)):a.key==="ArrowLeft"&&(a.preventDefault(),s(i))};return()=>{var i;const a=(((i=t.default)==null?void 0:i.call(t))||[]).filter(c=>c.type.name==="CodeGroupItem").map(c=>(c.props===null&&(c.props={}),c));return a.length===0?null:(n.value<0||n.value>a.length-1?(n.value=a.findIndex(c=>"active"in c.props),n.value===-1&&(n.value=0)):a.forEach((c,u)=>{c.props.active=u===n.value}),f("div",{class:"code-group"},[f("div",{class:"code-group-nav"},a.map((c,u)=>{const d=u===n.value;return f("button",{type:"button",ref:p=>{p&&(r.value[u]=p)},class:["code-group-nav-tab",{active:d}],"aria-pressed":d,"aria-expanded":d,onClick:()=>{n.value=u},onKeydown:p=>l(p,u)},c.props.title)})),a]))}}}),cv=()=>{Oe("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})},_o=_s("VUEPRESS_TAB_STORE",{});var uv=z({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=te(e.active),r=He([]),o=()=>{e.tabId&&(_o.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,u)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=u):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),l()),o()},i=()=>{if(e.tabId){const c=e.data.findIndex(({id:u})=>_o.value[e.tabId]===u);if(c!==-1)return c}return e.active};return be(()=>{n.value=i(),ae(()=>_o.value[e.tabId],(c,u)=>{if(e.tabId&&c!==u){const d=e.data.findIndex(({id:p})=>p===c);d!==-1&&(n.value=d)}})}),()=>e.data.length?f("div",{class:"vp-tabs"},[f("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:c},u)=>{const d=u===n.value;return f("button",{type:"button",ref:p=>{p&&(r.value[u]=p)},class:["vp-tab-nav",{active:d}],role:"tab","aria-controls":`tab-${e.id}-${u}`,"aria-selected":d,onClick:()=>{n.value=u,o()},onKeydown:p=>a(p,u)},t[`title${u}`]({value:c,isActive:d}))})),e.data.map(({id:c},u)=>{const d=u===n.value;return f("div",{class:["vp-tab",{active:d}],id:`tab-${e.id}-${u}`,role:"tabpanel","aria-expanded":d},[f("div",{class:"vp-tab-title"},t[`title${u}`]({value:c,isActive:d})),t[`tab${u}`]({value:c,isActive:d})])})]):null}});const fv=lt({enhance:({app:e})=>{e.component("CodeTabs",av),je("CodeGroup",e)||e.component("CodeGroup",iv),je("CodeGroupItem",e)||e.component("CodeGroupItem",Ui),e.component("Tabs",uv)},setup:()=>{cv()}});let dv={};const qi=Symbol(""),pv=()=>Re(qi),hv=e=>{e.provide(qi,dv)},vv='
',mv=e=>we(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),Gi=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>t(Gi(e)),e.onerror=r=>n(r))}),gv=e=>{const{isSupported:t,toggle:n}=ws();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(r,o)=>{r.setAttribute("download",""),r.setAttribute("target","_blank"),r.setAttribute("rel","noopener"),o.on("change",()=>{r.setAttribute("href",o.currSlide.data.src)})}}),e.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(r,o)=>{const s=[];let l=-1;for(let a=0;a{o.goTo(s.indexOf(c.target))},s.push(i),r.appendChild(i)}o.on("change",()=>{l>=0&&s[l].classList.remove("active"),s[o.currIndex].classList.add("active"),l=o.currIndex})}})})},bv=(e,t,n=!0)=>ce(()=>import("./photoswipe.esm-SzV8tJDW.js"),__vite__mapDeps([])).then(({default:r})=>{let o=null;const s=e.map(l=>({html:vv,element:l,msrc:l.src}));return e.forEach((l,a)=>{const i=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:s,index:a,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),gv(o),o.addFilter("thumbEl",()=>l),o.addFilter("placeholderSrc",()=>l.src),o.init()};l.getAttribute("photo-swipe")||(l.style.cursor="zoom-in",l.addEventListener("click",()=>{i()}),l.addEventListener("keypress",({key:c})=>{c==="Enter"&&i()}),l.setAttribute("photo-swipe","")),Gi(l).then(c=>{s.splice(a,1,c),o==null||o.refreshSlideContent(a)})}),n?Oe("wheel",()=>{o==null||o.close()}):()=>{}}),yv=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=pv(),s=En(t),l=ge(),a=Ce();let i=null;const c=()=>{const{photoSwipe:u}=a.value;u!==!1&&Xt().then(()=>Ei(n)).then(async()=>{const d=we(u)?u:e;i=await bv(mv(d),{...o,...s.value},r)})};be(()=>{c(),ae(()=>l.value.path,()=>{i==null||i(),c()})}),_n(()=>{i==null||i()})};var _v={"/":{closeTitle:"關閉",downloadTitle:"下載圖片",fullscreenTitle:"切換全屏",zoomTitle:"縮放",arrowPrevTitle:"上一個 (左箭頭)",arrowNextTitle:"下一個 (右箭頭)"}};const wv=".theme-hope-content :not(a) > img:not([no-view])",Ev=_v,Cv=800,kv=!0,Sv=lt({enhance:({app:e})=>{hv(e)},setup:()=>{yv({selector:wv,delay:Cv,locales:Ev,scrollToClose:kv})}}),Ki=()=>{const e=ge();return T(()=>e.value.readingTime??null)},xv=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:s,time:l}=t;return{time:n<1?o:l.replace("$time",Math.round(n).toString()),words:s.replace("$word",r.toString())}};var Yl={"/":{word:"約 $word 字",less1Minute:"小於 1 分鐘",time:"大约 $time 分鐘"}};const Jl={words:"",time:""},Fo=typeof Yl>"u"?null:Yl,Tv=()=>Fo?En(Fo):T(()=>null),Av=()=>{if(typeof Fo>"u")return T(()=>Jl);const e=Ki(),t=Tv();return T(()=>e.value&&t.value?xv(e.value,t.value):Jl)},kn=()=>zi(),de=()=>Gh(),fr=()=>{const e=kn();return T(()=>!!e.value.pure)},wo=()=>null,Lv="719px",Iv="1440px",Rv="false",Ls={mobileBreakPoint:Lv,pcBreakPoint:Iv,enableThemeColor:Rv},Is={"/learning/":["compare","jsrs"],"/practice/":["game","tone_difference"],"/research/":["typo","particles"],"/resource/":[{text:"10周學粵拼",prefix:"10weeks/",collapsible:!0,icon:"laptop-code",children:["","week0","week1","week2","week3","week4","week5","week6","week7","week8","week9","week10"]},"resource"]},Yi=e=>{const{icon:t="",color:n,size:r}=e,o=n||r?{}:null;return n&&(o.color=n),r&&(o.height=Number.isNaN(Number(r))?r:`${r}px`),Nt(t)?f("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):bs(t)?f("img",{class:"icon",src:Ie(t),alt:"","aria-hidden":"","no-view":"",style:o}):f(Ze("FontIcon"),e)};Yi.displayName="HopeIcon";var De=Yi;const Pv=()=>{const e=Dt(),t=Qt();return n=>{if(n)if(bs(n))t.path!==n&&e.push(n);else if(si(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${r}/${encodeURI(n)}`)}}},Ji=()=>{const e=de(),t=Ce();return T(()=>{const{author:n}=t.value;return n?zl(n):n===!1?[]:zl(e.value.author,!1)})},Ov=()=>{const e=Ce();return T(()=>mh(e.value.category).map(t=>({name:t,path:""})))},$v=()=>{const e=Ce();return T(()=>gh(e.value.tag).map(t=>({name:t,path:""})))},Mv=()=>{const e=Ce(),t=ge();return T(()=>{const n=Hp(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},Nv=()=>{const e=de(),t=ge(),n=Ce(),r=Ji(),o=Ov(),s=$v(),l=Mv(),a=Ki(),i=Av(),c=T(()=>({author:r.value,category:o.value,date:l.value,localizedDate:t.value.localizedDate,tag:s.value,isOriginal:n.value.isOriginal||!1,readingTime:a.value,readingTimeLocale:i.value,pageview:"pageview"in n.value?n.value.pageview:!0})),u=T(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:u}},{mobileBreakPoint:Dv,pcBreakPoint:Hv}=Ls,Xl=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,eo=()=>{const e=te(!1),t=te(!1),n=()=>{e.value=window.innerWidth<=(Xl(Dv)??719),t.value=window.innerWidth>=(Xl(Hv)??1440)};return be(()=>{n(),Oe("resize",n,!1),Oe("orientationchange",n,!1)}),{isMobile:e,isPC:t}},Xi=Symbol(""),dr=()=>{const e=Re(Xi);if(!e)throw new Error("useDarkmode() is called without provider.");return e},Fv=e=>{const t=kn(),n=lh(),r=T(()=>t.value.darkmode||"switch"),o=_s("vuepress-theme-hope-scheme","auto"),s=T(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),l=T(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(Xi,{canToggle:l,config:r,isDarkmode:s,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>s.value}})},Bv=()=>{const{config:e,isDarkmode:t,status:n}=dr();Aa(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),be(()=>{ae(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})};var mt=(e=>(e.type="y",e.title="t",e.shortTitle="s",e.icon="i",e.author="a",e.date="d",e.localizedDate="l",e.category="c",e.tag="g",e.isEncrypted="n",e.isOriginal="o",e.readingTime="r",e.excerpt="e",e.sticky="u",e.cover="v",e.index="I",e.order="O",e))(mt||{}),jv=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(jv||{});const Wt=(e="",t="")=>bs(t)?t:`${oi(e)}${t}`,fn=(e,t=!1)=>{const{meta:n,path:r,notFound:o}=Xr(e);return o?{text:r,link:r}:{text:!t&&n[mt.shortTitle]?n[mt.shortTitle]:n[mt.title]||r,link:r,...n[mt.icon]?{icon:n[mt.icon]}:{}}},Bo=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const s=we(r)?fn(Wt(o,r)):r.link?{...r,...mn(r.link)?{}:{link:fn(Wt(o,r.link)).link}}:r;if("children"in s){const l=Wt(o,s.prefix),a=s.children==="structure"?Is[l]:s.children;return{type:"group",...s,prefix:l,children:a.map(i=>n(i,l))}}return{type:"page",...s}};return e.map(r=>n(r))},Vv=({config:e,page:t,headerDepth:n})=>{const r=ir(e).sort((o,s)=>s.length-o.length);for(const o of r)if(Yn(decodeURI(t.path),o)){const s=e[o];return s?Bo({config:s==="structure"?Is[o]:s,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},zv=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?Bo({config:Is[t],page:n,headerDepth:r,prefix:t}):Do(e)?Bo({config:e,page:n,headerDepth:r}):ar(e)?Vv({config:e,page:n,headerDepth:r}):[],Qi=Symbol(""),Wv=()=>{const e=Ce(),t=de(),n=ge(),r=wn(),o=T(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),s=T(()=>e.value.headerDepth??t.value.headerDepth??2),l=Ci(()=>[o.value,s.value,n.value.path,null],()=>zv({config:o.value,routeLocale:r.value,page:n.value,headerDepth:s.value}));un(Qi,l)},Rs=()=>{const e=Re(Qi);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Uv=z({name:"PageFooter",setup(){const e=kn(),t=de(),n=Ce(),r=Ji(),o=T(()=>{const{copyright:c,footer:u}=n.value;return u!==!1&&!!(c||u||t.value.displayFooter)}),s=T(()=>{const{footer:c}=n.value;return c===!1?!1:we(c)?c:t.value.footer||""}),l=T(()=>r.value.map(({name:c})=>c).join(", ")),a=c=>`Copyright © ${new Date().getFullYear()} ${l.value} ${c?`${c} Licensed`:""}`,i=T(()=>{const{copyright:c,license:u=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return c??(u?a(u):we(p)?p:l.value||d?a(d):!1)});return()=>o.value?f("footer",{class:"vp-footer-wrapper"},[s.value?f("div",{class:"vp-footer",innerHTML:s.value}):null,i.value?f("div",{class:"vp-copyright",innerHTML:i.value}):null]):null}}),ze=z({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],slots:Object,setup(e,{attrs:t,emit:n,slots:r}){const o=Qt(),s=bi(),l=Wr(e,"config"),a=T(()=>Nt(l.value.link)),i=T(()=>!a.value&&si(l.value.link)),c=T(()=>l.value.target||(a.value?"_blank":void 0)),u=T(()=>c.value==="_blank"),d=T(()=>!a.value&&!i.value&&!u.value),p=T(()=>l.value.rel||(u.value?"noopener noreferrer":null)),v=T(()=>l.value.ariaLabel||l.value.text),g=T(()=>{if(e.exact)return!1;const _=ir(s.value.locales);return _.length?_.every(y=>y!==l.value.link):l.value.link!=="/"}),E=T(()=>d.value?l.value.activeMatch?new RegExp(l.value.activeMatch,"u").test(o.path):g.value?Yn(o.path,l.value.link):o.path===l.value.link:!1);return()=>{const{before:_,after:y,default:C}=r,{text:b,icon:S,link:D}=l.value;return d.value?f(Ve,{to:D,"aria-label":v.value,...t,class:["nav-link",{active:E.value},t.class],onFocusout:()=>n("focusout")},()=>C?C():[_?_():f(De,{icon:S}),b,y==null?void 0:y()]):f("a",{href:D,rel:p.value,target:c.value,"aria-label":v.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},C?C():[_?_():f(De,{icon:S}),b,e.noExternalLinkIcon?null:f(ji),y==null?void 0:y()])}}}),qv=z({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=ge(),r=Wr(e,"config"),o=T(()=>r.value.ariaLabel||r.value.text),s=te(!1);ae(()=>n.value.path,()=>{s.value=!1});const l=a=>{a.detail===0&&(s.value=!s.value)};return()=>{var a;return f("div",{class:["dropdown-wrapper",{open:s.value}]},[f("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:l},[((a=t.title)==null?void 0:a.call(t))||f("span",{class:"title"},[f(De,{icon:r.value.icon}),e.config.text]),f("span",{class:"arrow"}),f("ul",{class:"nav-dropdown"},r.value.children.map((i,c)=>{const u=c===r.value.children.length-1;return f("li",{class:"dropdown-item"},"children"in i?[f("h4",{class:"dropdown-subtitle"},i.link?f(ze,{config:i,onFocusout:()=>{i.children.length===0&&u&&(s.value=!1)}}):f("span",i.text)),f("ul",{class:"dropdown-subitem-wrapper"},i.children.map((d,p)=>f("li",{class:"dropdown-subitem"},f(ze,{config:d,onFocusout:()=>{p===i.children.length-1&&u&&(s.value=!1)}}))))]:f(ze,{config:i,onFocusout:()=>{u&&(s.value=!1)}}))}))])])}}});const Zi=(e,t="")=>we(e)?fn(Wt(t,e)):"children"in e?{...e,...e.link&&!mn(e.link)?fn(Wt(t,e.link)):{},children:e.children.map(n=>Zi(n,Wt(t,e.prefix)))}:{...e,link:mn(e.link)?e.link:fn(Wt(t,e.link)).link},ec=()=>{const e=de(),t=()=>(e.value.navbar||[]).map(n=>Zi(n));return Ci(()=>e.value.navbar,()=>t())},Gv=()=>{const e=de(),t=T(()=>e.value.repo||null),n=T(()=>t.value?hh(t.value):null),r=T(()=>t.value?Ts(t.value):null),o=T(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return T(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var Kv=z({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=ge(),n=Wr(e,"config"),r=T(()=>n.value.ariaLabel||n.value.text),o=te(!1);ae(()=>t.value.path,()=>{o.value=!1});const s=(l,a)=>a[a.length-1]===l;return()=>[f("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[f("span",{class:"title"},[f(De,{icon:n.value.icon}),e.config.text]),f("span",{class:["arrow",o.value?"down":"end"]})]),f("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(l=>f("li",{class:"dropdown-item"},"children"in l?[f("h4",{class:"dropdown-subtitle"},l.link?f(ze,{config:l,onFocusout:()=>{s(l,n.value.children)&&l.children.length===0&&(o.value=!1)}}):f("span",l.text)),f("ul",{class:"dropdown-subitem-wrapper"},l.children.map(a=>f("li",{class:"dropdown-subitem"},f(ze,{config:a,onFocusout:()=>{s(a,l.children)&&s(l,n.value.children)&&(o.value=!1)}}))))]:f(ze,{config:l,onFocusout:()=>{s(l,n.value.children)&&(o.value=!1)}}))))]}}),Yv=z({name:"NavScreenLinks",setup(){const e=ec();return()=>e.value.length?f("nav",{class:"nav-screen-links"},e.value.map(t=>f("div",{class:"navbar-links-item"},"children"in t?f(Kv,{config:t}):f(ze,{config:t})))):null}});const tc=()=>f(ke,{name:"dark"},()=>f("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));tc.displayName="DarkIcon";const nc=()=>f(ke,{name:"light"},()=>f("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));nc.displayName="LightIcon";const rc=()=>f(ke,{name:"auto"},()=>f("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));rc.displayName="AutoIcon";const oc=()=>f(ke,{name:"enter-fullscreen"},()=>f("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));oc.displayName="EnterFullScreenIcon";const sc=()=>f(ke,{name:"cancel-fullscreen"},()=>f("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));sc.displayName="CancelFullScreenIcon";const lc=()=>f(ke,{name:"outlook"},()=>[f("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);lc.displayName="OutlookIcon";var ac=z({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=dr(),r=fr(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},s=async l=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!l){o();return}const a=l.clientX,i=l.clientY,c=Math.hypot(Math.max(a,innerWidth-a),Math.max(i,innerHeight-i)),u=t.value;await document.startViewTransition(async()=>{o(),await Xt()}).ready,t.value!==u&&document.documentElement.animate({clipPath:t.value?[`circle(${c}px at ${a}px ${i}px)`,`circle(0px at ${a}px ${i}px)`]:[`circle(0px at ${a}px ${i}px)`,`circle(${c}px at ${a}px ${i}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>f("button",{type:"button",id:"appearance-switch",onClick:s},[f(rc,{style:{display:n.value==="auto"?"block":"none"}}),f(tc,{style:{display:n.value==="dark"?"block":"none"}}),f(nc,{style:{display:n.value==="light"?"block":"none"}})])}}),Jv=z({name:"AppearanceMode",setup(){const e=de(),{canToggle:t}=dr(),n=T(()=>e.value.outlookLocales.darkmode);return()=>t.value?f("div",{class:"appearance-wrapper"},[f("label",{class:"appearance-title",for:"appearance-switch"},n.value),f(ac)]):null}});const Eo="VUEPRESS_THEME_COLOR";var Xv=z({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(n="")=>{const r=document.documentElement.classList,o=ir(e.themeColor);if(!n){localStorage.removeItem(Eo),r.remove(...o);return}r.remove(...o.filter(s=>s!==n)),r.add(n),localStorage.setItem(Eo,n)};return be(()=>{const n=localStorage.getItem(Eo);n&&t(n)}),()=>f("ul",{id:"theme-color-picker"},[f("li",f("span",{class:"theme-color",onClick:()=>t()})),gs(e.themeColor).map(([n,r])=>f("li",f("span",{style:{background:r},onClick:()=>t(n)})))])}});const dn=Ls.enableThemeColor==="true",Qv=dn?Dp(gs(Ls).filter(([e])=>e.startsWith("theme-"))):{};var Zv=z({name:"ThemeColor",setup(){const e=de(),t=T(()=>e.value.outlookLocales.themeColor);return()=>dn?f("div",{class:"theme-color-wrapper"},[f("label",{class:"theme-color-title",for:"theme-color-picker"},t.value),f(Xv,{themeColor:Qv})]):null}}),ic=z({name:"ToggleFullScreenButton",setup(){const e=de(),{isSupported:t,isFullscreen:n,toggle:r}=ws(),o=T(()=>e.value.outlookLocales.fullscreen);return()=>t?f("div",{class:"full-screen-wrapper"},[f("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),f("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?f(sc):f(oc))]):null}}),cc=z({name:"OutlookSettings",setup(){const e=kn(),t=fr(),n=T(()=>!t.value&&e.value.fullscreen);return()=>f(Qr,()=>[dn?f(Zv):null,f(Jv),n.value?f(ic):null])}}),em=z({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=ge(),{isMobile:o}=eo(),s=He(),l=Ii(s);return be(()=>{s.value=document.body,ae(o,a=>{!a&&e.show&&(l.value=!1,t("close"))}),ae(()=>r.value.path,()=>{l.value=!1,t("close")})}),_n(()=>{l.value=!1}),()=>f($t,{name:"fade",onEnter:()=>{l.value=!0},onAfterLeave:()=>{l.value=!1}},()=>{var a,i;return e.show?f("div",{id:"nav-screen"},f("div",{class:"vp-nav-screen-container"},[(a=n.before)==null?void 0:a.call(n),f(Yv),f("div",{class:"vp-outlook-wrapper"},f(cc)),(i=n.after)==null?void 0:i.call(n)])):null})}}),tm=z({name:"NavbarBrand",setup(){const e=wn(),t=ms(),n=de(),r=T(()=>n.value.home||e.value),o=T(()=>t.value.title),s=T(()=>n.value.navTitle??o.value),l=T(()=>n.value.logo?Ie(n.value.logo):null),a=T(()=>n.value.logoDark?Ie(n.value.logoDark):null);return()=>f(Ve,{to:r.value,class:"vp-brand"},()=>[l.value?f("img",{class:["vp-nav-logo",{light:!!a.value}],src:l.value,alt:""}):null,a.value?f("img",{class:["vp-nav-logo dark"],src:a.value,alt:""}):null,s.value?f("span",{class:["vp-site-name",{"hide-in-pad":l.value&&n.value.hideSiteNameOnMobile!==!1}]},s.value):null])}}),nm=z({name:"NavbarLinks",setup(){const e=ec();return()=>e.value.length?f("nav",{class:"vp-nav-links"},e.value.map(t=>f("div",{class:"nav-item hide-in-mobile"},"children"in t?f(qv,{config:t}):f(ze,{config:t})))):null}}),rm=z({name:"RepoLink",components:{BitbucketIcon:Ss,GiteeIcon:ks,GitHubIcon:Es,GitLabIcon:Cs,SourceIcon:xs},setup(){const e=Gv();return()=>e.value?f("div",{class:"nav-item vp-repo"},f("a",{class:"vp-repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},f(Ze(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const uc=({active:e=!1},{emit:t})=>f("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},f("span",[f("span",{class:"vp-top"}),f("span",{class:"vp-middle"}),f("span",{class:"vp-bottom"})]));uc.displayName="ToggleNavbarButton";var om=uc;const jo=(e,{emit:t})=>f("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},f("span",{class:"icon"}));jo.displayName="ToggleSidebarButton",jo.emits=["toggle"];var sm=jo,lm=z({name:"OutlookButton",setup(){const{isSupported:e}=ws(),t=kn(),n=fr(),r=ge(),{canToggle:o}=dr(),s=te(!1),l=T(()=>!n.value&&t.value.fullscreen&&e);return ae(()=>r.value.path,()=>{s.value=!1}),()=>o.value||l.value||dn?f("div",{class:"nav-item hide-in-mobile"},o.value&&!l.value&&!dn?f(ac):l.value&&!o.value&&!dn?f(ic):f("button",{type:"button",class:["outlook-button",{open:s.value}],tabindex:"-1","aria-hidden":!0},[f(lc),f("div",{class:"outlook-dropdown"},f(cc))])):null}}),am=z({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=de(),{isMobile:o}=eo(),s=te(!1),l=T(()=>{const{navbarAutoHide:u="mobile"}=r.value;return u!=="none"&&(u==="always"||o.value)}),a=T(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:tm,Language:wo,Links:nm,Repo:rm,Outlook:lm,Search:je("Docsearch")?Ze("Docsearch"):je("SearchBox")?Ze("SearchBox"):wo},c=u=>i[u]??(je(u)?Ze(u):wo);return()=>{var u,d,p,v,g,E;return[f("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":l.value,"hide-icon":r.value.navbarIcon===!1}]},[f("div",{class:"vp-navbar-start"},[f(sm,{onToggle:()=>{s.value&&(s.value=!1),t("toggleSidebar")}}),(u=n.startBefore)==null?void 0:u.call(n),(a.value.start||[]).map(_=>f(c(_))),(d=n.startAfter)==null?void 0:d.call(n)]),f("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(a.value.center||[]).map(_=>f(c(_))),(v=n.centerAfter)==null?void 0:v.call(n)]),f("div",{class:"vp-navbar-end"},[(g=n.endBefore)==null?void 0:g.call(n),(a.value.end||[]).map(_=>f(c(_))),(E=n.endAfter)==null?void 0:E.call(n),f(om,{active:s.value,onToggle:()=>{s.value=!s.value}})])]),f(em,{show:s.value,onClose:()=>{s.value=!1}},{before:()=>{var _;return(_=n.screenTop)==null?void 0:_.call(n)},after:()=>{var _;return(_=n.screenBottom)==null?void 0:_.call(n)}})]}}});const Xn=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):Ni(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>Xn(e,r)):!1,fc=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?fc(e,n):n.type==="page"&&Xn(e,n,!0))||"prefix"in t&&Ni(e,t.prefix):!1;var im=z({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=Qt();return()=>we(e.config.link)?f(ze,{class:["vp-sidebar-link","vp-sidebar-page",{active:Xn(t,e.config,!0)}],exact:!0,config:e.config}):f("p",e,[f(De,{icon:e.config.icon}),e.config.text])}}),cm=z({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=Qt(),r=T(()=>Xn(n,e.config)),o=T(()=>Xn(n,e.config,!0));return()=>{const{collapsible:s,children:l=[],icon:a,prefix:i,link:c,text:u}=e.config;return f("section",{class:"vp-sidebar-group"},[f(s?"button":"p",{class:["vp-sidebar-header",{clickable:s||c,exact:o.value,active:r.value}],...s?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[f(De,{icon:a}),c?f(ze,{class:"vp-sidebar-title",config:{text:u,link:c},noExternalLinkIcon:!0}):f("span",{class:"vp-sidebar-title"},u),s?f("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!s?f(dc,{key:i,config:l}):null])}}}),dc=z({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=Qt(),n=te(-1),r=o=>{n.value=o===n.value?-1:o};return ae(()=>t.path,()=>{const o=e.config.findIndex(s=>fc(t,s));n.value=o},{immediate:!0,flush:"post"}),()=>f("ul",{class:"vp-sidebar-links"},e.config.map((o,s)=>f("li",o.type==="group"?f(cm,{config:o,open:s===n.value,onToggle:()=>r(s)}):f(im,{config:o}))))}}),um=z({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=Qt(),r=de(),o=Rs(),s=He();return be(()=>{ae(()=>n.hash,l=>{const a=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${l}"]`);if(!a)return;const{top:i,height:c}=s.value.getBoundingClientRect(),{top:u,height:d}=a.getBoundingClientRect();ui+c&&a.scrollIntoView(!1)},{immediate:!0})}),()=>{var l,a,i;return f("aside",{ref:s,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}],key:"sidebar"},[(l=t.top)==null?void 0:l.call(t),((a=t.default)==null?void 0:a.call(t))||f(dc,{config:o.value}),(i=t.bottom)==null?void 0:i.call(t)])}}}),pc=z({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=Dt(),r=ge(),o=Ce(),s=de(),{isMobile:l,isPC:a}=eo(),[i,c]=Ho(!1),[u,d]=Ho(!1),p=Rs(),v=te(!1),g=T(()=>e.noNavbar||o.value.navbar===!1||s.value.navbar===!1?!1:!!(r.value.title||s.value.logo||s.value.repo||s.value.navbar)),E=T(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),_=T(()=>e.noToc||o.value.home?!1:o.value.toc||s.value.toc!==!1&&o.value.toc!==!1),y={x:0,y:0},C=k=>{y.x=k.changedTouches[0].clientX,y.y=k.changedTouches[0].clientY},b=k=>{const N=k.changedTouches[0].clientX-y.x,P=k.changedTouches[0].clientY-y.y;Math.abs(N)>Math.abs(P)*1.5&&Math.abs(N)>40&&(N>0&&y.x<=80?c(!0):c(!1))},S=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let D=0;return Oe("scroll",Kp(()=>{const k=S();k<=58||k{k||c(!1)}),be(()=>{const k=Ii(document.body);ae(i,P=>{k.value=P});const N=n.afterEach(()=>{c(!1)});_n(()=>{k.value=!1,N()})}),()=>f(je("GlobalEncrypt")?Ze("GlobalEncrypt"):Oi,()=>f("div",{class:["theme-container",{"no-navbar":!g.value,"no-sidebar":!E.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":_.value,"hide-navbar":v.value,"sidebar-collapsed":!l.value&&!a.value&&u.value,"sidebar-open":l.value&&i.value},e.containerClass,o.value.containerClass||""],onTouchStart:C,onTouchEnd:b},[g.value?f(am,{onToggleSidebar:()=>c()},{startBefore:()=>{var k;return(k=t.navbarStartBefore)==null?void 0:k.call(t)},startAfter:()=>{var k;return(k=t.navbarStartAfter)==null?void 0:k.call(t)},centerBefore:()=>{var k;return(k=t.navbarCenterBefore)==null?void 0:k.call(t)},centerAfter:()=>{var k;return(k=t.navbarCenterAfter)==null?void 0:k.call(t)},endBefore:()=>{var k;return(k=t.navbarEndBefore)==null?void 0:k.call(t)},endAfter:()=>{var k;return(k=t.navbarEndAfter)==null?void 0:k.call(t)},screenTop:()=>{var k;return(k=t.navScreenTop)==null?void 0:k.call(t)},screenBottom:()=>{var k;return(k=t.navScreenBottom)==null?void 0:k.call(t)}}):null,f($t,{name:"fade"},()=>i.value?f("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),f($t,{name:"fade"},()=>l.value?null:f("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},f("span",{class:["arrow",u.value?"end":"start"]}))),f(um,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var k;return(k=t.sidebarTop)==null?void 0:k.call(t)},bottom:()=>{var k;return(k=t.sidebarBottom)==null?void 0:k.call(t)}}),t.default(),f(Uv)]))}}),on=z({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},r=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>f(e.type==="single"?$t:td,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}});const Vo=({custom:e})=>f(wi,{class:["theme-hope-content",{custom:e}]});Vo.displayName="MarkdownContent",Vo.props={custom:Boolean};var hc=Vo;const vc=()=>f(ke,{name:"author"},()=>f("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));vc.displayName="AuthorIcon";const mc=()=>f(ke,{name:"calendar"},()=>f("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));mc.displayName="CalendarIcon";const gc=()=>f(ke,{name:"category"},()=>f("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));gc.displayName="CategoryIcon";const bc=()=>f(ke,{name:"print"},()=>f("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));bc.displayName="PrintIcon";const yc=()=>f(ke,{name:"tag"},()=>f("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));yc.displayName="TagIcon";const _c=()=>f(ke,{name:"timer"},()=>f("path",{d:"M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"}));_c.displayName="TimerIcon";const wc=()=>f(ke,{name:"word"},()=>[f("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),f("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);wc.displayName="WordIcon";const Ht=()=>{const e=de();return T(()=>e.value.metaLocales)};var fm=z({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Ht();return()=>e.author.length?f("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[f(vc),f("span",e.author.map(n=>n.url?f("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):f("span",{class:"page-author-item"},n.name))),f("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),dm=z({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=Dt(),n=ge(),r=Ht(),o=(s,l="")=>{l&&n.value.path!==l&&(s.preventDefault(),t.push(l))};return()=>e.category.length?f("span",{class:"page-category-info","aria-label":`${r.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[f(gc),e.category.map(({name:s,path:l})=>f("span",{class:["page-category-item",{[`category${$i(s,9)}`]:!e.pure,clickable:l}],role:l?"navigation":"",onClick:a=>o(a,l)},s)),f("meta",{property:"articleSection",content:e.category.map(({name:s})=>s).join(",")})]):null}}),pm=z({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=gi(),n=Ht();return()=>e.date?f("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[f(mc),f("span",f(Qr,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),f("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),hm=z({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Ht();return()=>e.isOriginal?f("span",{class:"page-original-info"},t.value.origin):null}}),vm=z({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Ht(),n=T(()=>{if(!e.readingTime)return null;const{minutes:r}=e.readingTime;return r<1?"PT1M":`PT${Math.round(r)}M`});return()=>{var r,o;return(r=e.readingTimeLocale)!=null&&r.time?f("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[f(_c),f("span",(o=e.readingTimeLocale)==null?void 0:o.time),f("meta",{property:"timeRequired",content:n.value})]):null}}}),mm=z({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=Dt(),n=ge(),r=Ht(),o=(s,l="")=>{l&&n.value.path!==l&&(s.preventDefault(),t.push(l))};return()=>e.tag.length?f("span",{class:"page-tag-info","aria-label":`${r.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[f(yc),e.tag.map(({name:s,path:l})=>f("span",{class:["page-tag-item",{[`tag${$i(s,9)}`]:!e.pure,clickable:l}],role:l?"navigation":"",onClick:a=>o(a,l)},s)),f("meta",{property:"keywords",content:e.tag.map(({name:s})=>s).join(",")})]):null}}),gm=z({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Ht();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?f("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[f(wc),f("span",(r=e.readingTimeLocale)==null?void 0:r.words),f("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),bm=z({name:"PageInfo",components:{AuthorInfo:fm,CategoryInfo:dm,DateInfo:pm,OriginalInfo:hm,PageViewInfo:()=>null,ReadingTimeInfo:vm,TagInfo:mm,WordInfo:gm},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=fr();return()=>e.items?f("div",{class:"page-info"},e.items.map(n=>f(Ze(`${n}Info`),{...e.info,pure:t.value}))):null}}),ym=z({name:"PrintButton",setup(){const e=kn(),t=de();return()=>e.value.print===!1?null:f("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},f(bc))}}),_m=z({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=Qt(),r=ge(),o=Ht(),[s,l]=Ho(),a=He(),i=te("-1.7rem"),c=d=>{var p;(p=a.value)==null||p.scrollTo({top:d,behavior:"smooth"})},u=()=>{if(a.value){const d=document.querySelector(".vp-toc-item.active");d?i.value=`${d.getBoundingClientRect().top-a.value.getBoundingClientRect().top+a.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return be(()=>{ae(()=>n.hash,d=>{if(a.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:v,height:g}=a.value.getBoundingClientRect(),{top:E,height:_}=p.getBoundingClientRect();Ev+g&&c(a.value.scrollTop+E+_-v-g)}}),ae(()=>n.fullPath,u,{flush:"post",immediate:!0})}),()=>{var g,E;const d=({title:_,level:y,slug:C})=>f(Ve,{to:`#${C}`,class:["vp-toc-link",`level${y}`],onClick:()=>{l()}},()=>_),p=(_,y)=>_.length&&y>0?f("ul",{class:"vp-toc-list"},_.map(C=>{const b=p(C.children,y-1);return[f("li",{class:["vp-toc-item",{active:n.hash===`#${C.slug}`}]},d(C)),b?f("li",b):null]})):null,v=e.items.length?p(e.items,e.headerDepth):r.value.headers?p(r.value.headers,e.headerDepth):null;return v?f("div",{class:"vp-toc-placeholder"},[f("aside",{id:"toc"},[(g=t.before)==null?void 0:g.call(t),f("div",{class:"vp-toc-header",onClick:()=>{l()}},[o.value.toc,f(ym),f("div",{class:["arrow",s.value?"down":"end"]})]),f("div",{class:["vp-toc-wrapper",s.value?"open":""],ref:a},[v,f("div",{class:"vp-toc-marker",style:{top:i.value}})]),(E=t.after)==null?void 0:E.call(t)])]):null}}}),Ec=z({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=ge(),n=de(),r=He(),o=({target:s})=>{const l=document.querySelector(s.hash);if(l){const a=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",a)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",a),l.focus(),window.scrollTo(0,0)}};return be(()=>{ae(()=>t.value.path,()=>r.value.focus())}),()=>[f("span",{ref:r,tabindex:"-1"}),f("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let Co=null,An=null;const wm={wait:()=>Co,pending:()=>{Co=new Promise(e=>{An=e})},resolve:()=>{An==null||An(),Co=null,An=null}},Cc=()=>wm;var Em=z({name:"FadeSlideY",slots:Object,setup(e,{slots:t}){const{resolve:n,pending:r}=Cc();return()=>f($t,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:n,onBeforeLeave:r},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}});const Cm=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=ds(t);return n.forEach((s,l)=>{l!==n.length-1?(o+=`${s}/`,r.push({link:o,name:s||"Home"})):s!==""&&(o+=s,r.push({link:o,name:s}))}),r},kc=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,features:u=[]}=e;return f("div",{class:"vp-feature-wrapper"},[n?f("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?f("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,f("div",{class:"vp-feature",style:s?{color:s}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[a?f("img",{class:["vp-feature-image",{light:i}],src:Ie(a),alt:""}):null,i?f("img",{class:"vp-feature-image dark",src:Ie(i),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[c?f("h2",{class:"vp-feature-header"},c):null,l?f("p",{class:"vp-feature-description",innerHTML:l}):null],u.length?f("div",{class:"vp-features"},u.map(({icon:v,title:g,details:E,link:_})=>{const y=[f("h3",{class:"vp-feature-title"},[f(De,{icon:v}),f("span",{innerHTML:g})]),f("p",{class:"vp-feature-details",innerHTML:E})];return _?mn(_)?f("a",{class:"vp-feature-item link",href:_,"aria-label":g,target:"_blank"},y):f(Ve,{class:"vp-feature-item link",to:_,"aria-label":g},()=>y):f("div",{class:"vp-feature-item"},y)})):null])])};kc.displayName="FeaturePanel";var Ql=kc,km=z({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=Ce(),r=ms(),o=T(()=>n.value.heroFullScreen??!1),s=T(()=>{const{heroText:c,tagline:u}=n.value;return{text:c??r.value.title??"Hello",tagline:u??r.value.description??"",isFullScreen:o.value}}),l=T(()=>{const{heroText:c,heroImage:u,heroImageDark:d,heroAlt:p,heroImageStyle:v}=n.value;return{image:u?Ie(u):null,imageDark:d?Ie(d):null,style:v,alt:p||c||"",isFullScreen:o.value}}),a=T(()=>{const{bgImage:c,bgImageDark:u,bgImageStyle:d}=n.value;return{image:we(c)?Ie(c):null,imageDark:we(u)?Ie(u):null,bgStyle:d,isFullScreen:o.value}}),i=T(()=>n.value.actions??[]);return()=>{var c,u,d;return f("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((c=t.heroBg)==null?void 0:c.call(t,a.value))||[a.value.image?f("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?f("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],f("div",{class:"vp-hero-info"},[((u=t.heroImage)==null?void 0:u.call(t,l.value))||f(on,{appear:!0,type:"group"},()=>[l.value.image?f("img",{key:"light",class:["vp-hero-image",{light:l.value.imageDark}],style:l.value.style,src:l.value.image,alt:l.value.alt}):null,l.value.imageDark?f("img",{key:"dark",class:"vp-hero-image dark",style:l.value.style,src:l.value.imageDark,alt:l.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,s.value))??f("div",{class:"vp-hero-infos"},[s.value.text?f(on,{appear:!0,delay:.04},()=>f("h1",{id:"main-title"},s.value.text)):null,s.value.tagline?f(on,{appear:!0,delay:.08},()=>f("p",{id:"main-description",innerHTML:s.value.tagline})):null,i.value.length?f(on,{appear:!0,delay:.12},()=>f("p",{class:"vp-hero-actions"},i.value.map(p=>f(ze,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>f(De,{icon:p.icon})}:{})))):null])])])}}});const Sc=(e,{slots:t})=>{var p,v,g;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,highlights:u=[],type:d="un-order"}=e;return f("div",{class:"vp-highlight-wrapper",style:s?{color:s}:{}},[n?f("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?f("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,f("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[a?f("img",{class:["vp-highlight-image",{light:i}],src:Ie(a),alt:""}):null,i?f("img",{class:"vp-highlight-image dark",src:Ie(i),alt:""}):null],((v=t.info)==null?void 0:v.call(t,e))||[f("div",{class:"vp-highlight-info-wrapper"},f("div",{class:"vp-highlight-info"},[c?f("h2",{class:"vp-highlight-header",innerHTML:c}):null,l?f("p",{class:"vp-highlight-description",innerHTML:l}):null,((g=t.highlights)==null?void 0:g.call(t,u))||f(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},u.map(({icon:E,title:_,details:y,link:C})=>{const b=[f(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[E?f(De,{class:"vp-highlight-icon",icon:E}):null,f("span",{innerHTML:_})]),y?f(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:y}):null];return f(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:C}]},C?mn(C)?f("a",{class:"vp-highlight-item link",href:C,"aria-label":_,target:"_blank"},b):f(Ve,{class:"vp-highlight-item link",to:C,"aria-label":_},()=>b):f("div",{class:"vp-highlight-item"},b))}))]))]])])};Sc.displayName="HighlightPanel";var Sm=Sc,xm=z({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=fr(),r=Ce(),o=T(()=>{const{features:l}=r.value;return Do(l)?l:null}),s=T(()=>{const{highlights:l}=r.value;return Do(l)?l:null});return()=>{var l,a,i,c;return f("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(l=t.top)==null?void 0:l.call(t),f(km),((a=s.value)==null?void 0:a.map(u=>"features"in u?f(Ql,u):f(Sm,u)))||(o.value?f(on,{appear:!0,delay:.24},()=>f(Ql,{features:o.value})):null),(i=t.center)==null?void 0:i.call(t),f(on,{appear:!0,delay:.32},()=>f(hc)),(c=t.bottom)==null?void 0:c.call(t)])}}}),Tm=z({name:"BreadCrumb",setup(){const e=ge(),t=wn(),n=Ce(),r=de(),o=He([]),s=T(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),l=T(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),a=()=>{const i=Cm(e.value.path,t.value).map(({link:c,name:u})=>{const{path:d,meta:p,notFound:v}=Xr(c);return v?null:{title:p[mt.shortTitle]||p[mt.title]||u,icon:p[mt.icon],path:d}}).filter(c=>c!==null);i.length>1&&(o.value=i)};return be(()=>{ae(()=>e.value.path,a,{immediate:!0})}),()=>f("nav",{class:["vp-breadcrumb",{disable:!s.value}]},s.value?f("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((i,c)=>f("li",{class:{"is-active":o.value.length-1===c},property:"itemListElement",typeof:"ListItem"},[f(Ve,{to:i.path,property:"item",typeof:"WebPage"},()=>[l.value?f(De,{icon:i.icon}):null,f("span",{property:"name"},i.title||"Unknown")]),f("meta",{property:"position",content:c+1})]))):[])}});const Zl=e=>e===!1||ar(e)?e:we(e)?fn(e,!0):null,zo=(e,t,n)=>{const r=e.findIndex(o=>o.link===t);if(r!==-1){const o=e[r+n];return o!=null&&o.link?o:null}for(const o of e)if("children"in o){const s=zo(o.children,t,n);if(s)return s}return null};var Am=z({name:"PageNav",setup(){const e=de(),t=Ce(),n=Rs(),r=ge(),o=Pv(),s=T(()=>{const a=Zl(t.value.prev);return a===!1?null:a||(e.value.prevLink===!1?null:zo(n.value,r.value.path,-1))}),l=T(()=>{const a=Zl(t.value.next);return a===!1?null:a||(e.value.nextLink===!1?null:zo(n.value,r.value.path,1))});return Oe("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?l.value&&(o(l.value.link),a.preventDefault()):a.key==="ArrowLeft"&&s.value&&(o(s.value.link),a.preventDefault()))}),()=>s.value||l.value?f("nav",{class:"vp-page-nav"},[s.value?f(ze,{class:"prev",config:s.value},()=>{var a,i;return[f("div",{class:"hint"},[f("span",{class:"arrow start"}),e.value.metaLocales.prev]),f("div",{class:"link"},[f(De,{icon:(a=s.value)==null?void 0:a.icon}),(i=s.value)==null?void 0:i.text])]}):null,l.value?f(ze,{class:"next",config:l.value},()=>{var a,i;return[f("div",{class:"hint"},[e.value.metaLocales.next,f("span",{class:"arrow end"})]),f("div",{class:"link"},[(a=l.value)==null?void 0:a.text,f(De,{icon:(i=l.value)==null?void 0:i.icon})])]}):null]):null}});const Lm={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Im=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Ts(e);let l;return o?l=o:s!==null&&(l=Lm[s]),l?l.replace(/:repo/u,Nt(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,li(`${ds(n)}/${r}`)):null},Rm=()=>{const e=de(),t=ge(),n=Ce();return T(()=>{const{repo:r,docsRepo:o=r,docsBranch:s="main",docsDir:l="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!o)return null;const c=Im({docsRepo:o,docsBranch:s,docsDir:l,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},Pm=()=>{const e=ms(),t=de(),n=ge(),r=Ce();return T(()=>{var o,s;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((s=n.value.git)==null?void 0:s.updatedTime).toLocaleString(e.value.lang)})},Om=()=>{const e=de(),t=ge(),n=Ce();return T(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})};var $m=z({name:"PageTitle",setup(){const e=ge(),t=Ce(),n=de(),{info:r,items:o}=Nv();return()=>f("div",{class:"vp-page-title"},[f("h1",[n.value.titleIcon===!1?null:f(De,{icon:t.value.icon}),e.value.title]),f(bm,{info:r.value,...o.value===null?{}:{items:o.value}}),f("hr")])}});const xc=()=>f(ke,{name:"edit"},()=>[f("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),f("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);xc.displayName="EditIcon";var Mm=z({name:"PageMeta",setup(){const e=de(),t=Rm(),n=Pm(),r=Om();return()=>{const{metaLocales:o}=e.value;return f("footer",{class:"page-meta"},[t.value?f("div",{class:"meta-item edit-link"},f(ze,{class:"label",config:t.value},{before:()=>f(xc)})):null,f("div",{class:"meta-item git-info"},[n.value?f("div",{class:"update-time"},[f("span",{class:"label"},`${o.lastUpdated}: `),f(Qr,()=>f("span",{class:"info"},n.value))]):null,r.value&&r.value.length?f("div",{class:"contributors"},[f("span",{class:"label"},`${o.contributors}: `),r.value.map(({email:s,name:l},a)=>[f("span",{class:"contributor",title:`email: ${s}`},l),a!==r.value.length-1?",":""])]):null])])}}}),Nm=z({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=Ce(),{isDarkmode:r}=dr(),o=de(),s=T(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>f("main",{id:"main-content",class:"vp-page"},f(je("LocalEncrypt")?Ze("LocalEncrypt"):Oi,()=>{var l,a,i,c;return[(l=t.top)==null?void 0:l.call(t),n.value.cover?f("div",{class:"page-cover"},f("img",{src:Ie(n.value.cover),alt:"","no-view":""})):null,f(Tm),f($m),s.value?f(_m,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var u;return(u=t.tocBefore)==null?void 0:u.call(t)},after:()=>{var u;return(u=t.tocAfter)==null?void 0:u.call(t)}}):null,(a=t.contentBefore)==null?void 0:a.call(t),f(hc),(i=t.contentAfter)==null?void 0:i.call(t),f(Mm),f(Am),je("CommentService")?f(Ze("CommentService"),{darkmode:r.value}):null,(c=t.bottom)==null?void 0:c.call(t)]}))}}),Dm=z({name:"Layout",slots:Object,setup(e,{slots:t}){de();const n=ge(),r=Ce(),{isMobile:o}=eo(),s=T(()=>"none");return()=>[f(Ec),f(pc,{},{default:()=>{var l;return((l=t.default)==null?void 0:l.call(t))||(r.value.home?f(xm):f(Em,()=>f(Nm,{key:n.value.path},{top:()=>{var a;return(a=t.top)==null?void 0:a.call(t)},bottom:()=>{var a;return(a=t.bottom)==null?void 0:a.call(t)},contentBefore:()=>{var a;return(a=t.contentBefore)==null?void 0:a.call(t)},contentAfter:()=>{var a;return(a=t.contentAfter)==null?void 0:a.call(t)},tocBefore:()=>{var a;return(a=t.tocBefore)==null?void 0:a.call(t)},tocAfter:()=>{var a;return(a=t.tocAfter)==null?void 0:a.call(t)}})))},...s.value==="none"?{}:{navScreenBottom:()=>f(Ze("BloggerInfo"))},...!o.value&&s.value==="always"?{sidebar:()=>f(Ze("BloggerInfo"))}:{}})]}}),Hm=z({name:"NotFoundHint",setup(){const e=de(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>f("div",{class:"not-found-hint"},[f("p",{class:"error-code"},"404"),f("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),f("p",{class:"error-hint"},t())])}}),Fm=z({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=Dt(),r=wn(),o=de();return()=>[f(Ec),f(pc,{noSidebar:!0},()=>{var s;return f("main",{id:"main-content",class:"vp-page not-found"},((s=t.default)==null?void 0:s.call(t))||[f(Hm),f("div",{class:"actions"},[f("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),f("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});Ah(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[f(De,{icon:r}),t]:null,order:e.O,index:e.I}:null});const Bm=lt({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await Cc().wait(),n(...r)),Fv(e),e.component("HopeIcon",De)},setup:()=>{Bv(),Wv()},layouts:{Layout:Dm,NotFound:Fm}}),Ar=[$p,wh,Th,Oh,Nh,Bh,Wh,Yh,lv,fv,Sv,Bm],jm=JSON.parse('{"base":"/navigator_jyutping/","lang":"zh-TW","title":"Navigator Jyutping","description":"Navigator粵拼","head":[["script",{"src":"/navigator_jyutping/js/soundplay.js"}],["link",{"rel":"icon","href":"/navigator_jyutping/favicon.ico"}]],"locales":{}}');var In=He(jm),Vm=Zd,zm=()=>{const e=kp({history:Vm(ds("/navigator_jyutping/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===vt){const r=Xr(t.path);if(r.path!==t.path)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},Wm=e=>{e.component("ClientOnly",Qr),e.component("Content",wi),e.component("RouteLink",Ve)},Um=(e,t,n)=>{const r=T(()=>t.currentRoute.value.path),o=os((_,y)=>({get(){return _(),t.currentRoute.value.meta._pageChunk},set(C){t.currentRoute.value.meta._pageChunk=C,y()}})),s=T(()=>jt.resolveLayouts(n)),l=T(()=>jt.resolveRouteLocale(In.value.locales,r.value)),a=T(()=>jt.resolveSiteLocaleData(In.value,l.value)),i=T(()=>o.value.comp),c=T(()=>o.value.data),u=T(()=>c.value.frontmatter),d=T(()=>jt.resolvePageHeadTitle(c.value,a.value)),p=T(()=>jt.resolvePageHead(d.value,u.value,a.value)),v=T(()=>jt.resolvePageLang(c.value,a.value)),g=T(()=>jt.resolvePageLayout(c.value,s.value)),E={layouts:s,pageData:c,pageComponent:i,pageFrontmatter:u,pageHead:p,pageHeadTitle:d,pageLang:v,pageLayout:g,redirects:yi,routeLocale:l,routePath:r,routes:Kn,siteData:In,siteLocaleData:a};return e.provide(vs,E),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>u.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>v.value},$page:{get:()=>c.value},$routeLocale:{get:()=>l.value},$site:{get:()=>In.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>Ie}}),E},qm=()=>{const e=Tp(),t=gi();let n=[];const r=()=>{e.value.forEach(l=>{const a=Gm(l);a&&n.push(a)})},o=()=>{const l=[];return e.value.forEach(a=>{const i=Km(a);i&&l.push(i)}),l},s=()=>{document.documentElement.lang=t.value;const l=o();n.forEach((a,i)=>{const c=l.findIndex(u=>a.isEqualNode(u));c===-1?(a.remove(),delete n[i]):l.splice(c,1)}),l.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...l]};un(Ip,s),be(()=>{r(),ae(e,s,{immediate:!1})})},Gm=([e,t,n=""])=>{const r=Object.entries(t).map(([a,i])=>we(i)?`[${a}=${JSON.stringify(i)}]`:i===!0?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)||null},Km=([e,t,n])=>{if(!we(e))return null;const r=document.createElement(e);return ar(t)&&Object.entries(t).forEach(([o,s])=>{we(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),we(n)&&r.appendChild(document.createTextNode(n)),r},Ym=id,Jm=async()=>{var n;const e=Ym({name:"Vuepress",setup(){var s;qm();for(const l of Ar)(s=l.setup)==null||s.call(l);const r=Ar.flatMap(({rootComponents:l=[]})=>l.map(a=>f(a))),o=Ap();return()=>[f(o.value),r]}}),t=zm();Wm(e),Um(e,t,Ar);for(const r of Ar)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:In}));return e.use(t),{app:e,router:t}};Jm().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{ce as _,Ga as a,Ka as b,Qm as c,Jm as createVueApp,Se as d,Zm as e,Xm as o,Ze as r,Su as w}; diff --git a/assets/compare.html-CHvK9EqE.js b/assets/compare.html-CHvK9EqE.js new file mode 100644 index 0000000..8210d8c --- /dev/null +++ b/assets/compare.html-CHvK9EqE.js @@ -0,0 +1 @@ +import{_ as s}from"./Jyutping-OPLPt_jc.js";import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as r,c as d,a as t,d as n,w as a,e as i,b as e}from"./app-BoGlXVck.js";const _="/navigator_jyutping/Mandarin.png",g={},u=i('

前言

本文將展示普通話漢語拼音與粵拼之間的區別,以幫助掌握普通話漢語拼音的使用者更快的理解粵拼,以此便於學習其他粵語教學材料。

  • 寫法區別:該發音在普通話與粵語中發相同的音,但由於粵語有一些普通話所不包含的發音,從國際音標和字母限制的角度考慮,使用了不同的寫法。
  • 音系區別:該發音是粵語獨有的,需要額外的學習與記憶。

在學習拼音方案分別之前,先要理解粵語的「六調」。

在粵拼方案中,不同於普通話注音的將音調標記在字母之上,粵拼將音調以數字1-6展示。

音調

關於音調

初學者或非母語者應當關注單字的發音,學習過程中以避免形成懶音,錯音或吞音。輸入的時候亦應該輸入音調來强化記憶

但粵語母語者在使用粵拼輸入法的時候可以不輸入音調,因爲打出正確的粵拼即可將範圍限制在一定的字内。然而,輸入音調可以提高輸入效率,令輸入法更快理解你想要輸入的詞匯或短語。

粵語中有六個聲調,不同於普通話的四個聲調。普通話裏的四個聲調如下:

普通話音調
普通話音調
聲調陰平陽平上聲去聲
調值553521451
舉例詩 shī實 shí史 shǐ世 shì

而到粵語中則變化爲六個聲調*,如下:

粵語音調
粵語音調
',12),h=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"聲調"),t("th",{style:{"text-align":"center"}},"陰平"),t("th",{style:{"text-align":"center"}},"陰上"),t("th",{style:{"text-align":"center"}},"陰去"),t("th",{style:{"text-align":"center"}},"陽平"),t("th",{style:{"text-align":"center"}},"陽上"),t("th",{style:{"text-align":"center"}},"陽去")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"調值"),t("td",{style:{"text-align":"center"}},"55"),t("td",{style:{"text-align":"center"}},"35"),t("td",{style:{"text-align":"center"}},"33"),t("td",{style:{"text-align":"center"}},"21"),t("td",{style:{"text-align":"center"}},"13"),t("td",{style:{"text-align":"center"}},"22")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"舉例"),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si1')"},"詩 si1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si2')"},"史 si2")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si3')"},"試 si3")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si4')"},"時 si4")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si5')"},"市 si5")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si6')"},"事 si6")])])])],-1),y=i('

關於粵語中“入”聲調在粵拼中的使用

已經掌握粵語的讀者會發現此處未有標注高陰入,低陰入和陽入。

實際上來説,高陰入、低陰入、陽入聲調的音高,與陰平、陰去、陽去是一樣的(55 & 5, 33 &3, 22 &2),在粵拼方案中,以-p、-t、-k這些韻尾做出區別,傳統聲調的定義,包括抑揚性(即實際音高)和頓挫性。而入聲韻尾 -p、-t、-k 正是影響了其頓挫性。

因此粵語有「九聲六調」,標調時可以只視乎實際音高,用1至6六個數字,入聲看韻尾字母區分即可。懂粵語的讀者可將下方例和上方例一同閲讀下來即可理解。

例: 忽 fat1, 法 faat3, 罰 fat5

寫法區別

1. y -> j

在普通話拼音中的y在粵拼中寫作j,考慮有二

  • 在國際音標中,其發音為 [j],漢語拼音中將此發音寫作y是沿用了英語的方式(例: young: [jʌŋ])
  • 粵拼方案的出發點是僅使用ASCII字符表達發音,因此如果將這個音寫作y,會容易與韻母yu混淆。
',5),p=t("th",{style:{"text-align":"center"}},"例字",-1),x=t("th",{style:{"text-align":"center"}},"正確寫法",-1),k={style:{"text-align":"center"}},b=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"一"),t("td",{style:{"text-align":"center"}},"jat1"),t("td",{style:{"text-align":"center"}},"yat1")])],-1),m=t("h3",{id:"_2-u-yu",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_2-u-yu"},[t("span",null,"2. ü -> yu")])],-1),f=t("p",null,[e("在漢語拼音中的"),t("strong",null,"ü"),e("在粵拼中寫作"),t("strong",null,"yu"),e(",避免混淆的同時也將字母運用限制在26個字母内")],-1),z=t("th",{style:{"text-align":"center"}},"例字",-1),v=t("th",{style:{"text-align":"center"}},"正確寫法",-1),w={style:{"text-align":"center"}},j=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"豬"),t("td",{style:{"text-align":"center"}},"zyu1"),t("td",{style:{"text-align":"center"}},"zü1")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"雨"),t("td",{style:{"text-align":"center"}},"jyu5"),t("td",{style:{"text-align":"center"}},"jü5/ ju5")])],-1),N=t("h3",{id:"_3-gu-ku-gw-kw",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_3-gu-ku-gw-kw"},[t("span",null,"3.gu-,ku- -> gw-, kw-")])],-1),T=t("p",null,"gu-, ku-以gw-,kw-寫作",-1),C=t("th",{style:{"text-align":"center"}},"例字",-1),V=t("th",{style:{"text-align":"center"}},"正確寫法",-1),B={style:{"text-align":"center"}},S=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"狂"),t("td",{style:{"text-align":"center"}},"kwong4"),t("td",{style:{"text-align":"center"}},"kuong4")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"昆"),t("td",{style:{"text-align":"center"}},"kwan1"),t("td",{style:{"text-align":"center"}},"kuan1")])],-1),A=t("h3",{id:"_4-ao-aau",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_4-ao-aau"},[t("span",null,"4. ao -> aau")])],-1),I=t("p",null,"同y -> j,是遵循國際音標的寫法",-1),q=t("th",{style:{"text-align":"center"}},"例字",-1),D=t("th",{style:{"text-align":"center"}},"正確寫法",-1),E={style:{"text-align":"center"}},J=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"考"),t("td",{style:{"text-align":"center"}},"haau2"),t("td",{style:{"text-align":"center"}},"hao2/haao2")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"包"),t("td",{style:{"text-align":"center"}},"baau1"),t("td",{style:{"text-align":"center"}},"bao1/baao1")])],-1),M=t("h3",{id:"_5-ong-ung",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_5-ong-ung"},[t("span",null,"5. ong -> ung")])],-1),O=t("p",null,"漢語拼音中的 ong 和粵拼的 ung 發音是一樣的,國際音標都是 [ʊŋ]",-1),P=t("p",null,"粵拼中的 ong 是普通話中不存在的發音,國際音標爲 [ɔŋ]。",-1),R=t("p",null,"例:",-1),W=t("p",null,[t("a",{onclick:"_play('zung1')"},"鍾 zung1")],-1),$=t("p",null,[t("a",{onclick:"_play('gong1')"},"江 gong1")],-1),F=t("h2",{id:"音系區別",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#音系區別"},[t("span",null,"音系區別")])],-1),G=t("h3",{id:"_1-韻腹aa-與-a",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_1-韻腹aa-與-a"},[t("span",null,"1. 韻腹aa 與 a")])],-1),H=t("p",null,"普拼的 a 等同於粵拼的 aa,國際音標是 [a]。",-1),K=t("p",null,"而粵拼裏的 a 是個普通話沒有的音,它的國際音標是 [ɐ]。aa 和 a 是兩個不同的韻腹,不能混淆。",-1),L=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"aa"),t("th",{style:{"text-align":"center"}},"a")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saam1')"},"三 saam1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sam1')"},"心 sam1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saan1')"},"山 saan1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saan1')"},"身 san1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saau1')"},"稍 saau1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sau1')"},"手 sau1")])])])],-1),Q=t("h3",{id:"_2-韻腹-eo、oe",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_2-韻腹-eo、oe"},[t("span",null,"2.韻腹 eo、oe")])],-1),U=t("p",null,"這兩個韻母的國際音標分別是 [ɵ]、[œ],普通話裏沒有這兩個發音,需要另加練習。",-1),X=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"eo"),t("th",{style:{"text-align":"center"}},"oe")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('seot1')"},"率 seot1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('soek3')"},"削 soek3")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('jeon6')"},"潤 jeon6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('joeng6')"},"讓 joeng6")])])])],-1),Y=t("h3",{id:"_3-韻母-e",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_3-韻母-e"},[t("span",null,"3.韻母 e")])],-1),Z=t("p",null,"粵拼裏的 e 永遠只代表一個發音 [ɛ~e],這個音類似於英語單詞 「yes」 的元音。",-1),tt=t("p",null,[t("a",{onclick:"_play('se2')"},"寫 se2")],-1),et=t("p",null,[t("a",{onclick:"_play('sek6')"},"石 sek6")],-1),lt=t("p",null,[t("a",{onclick:"_play('ze2')"},"借 ze2")],-1),nt=t("p",null,[t("a",{onclick:"_play('zeng6')"},"鄭 zeng6")],-1),at=t("h3",{id:"_4-韻母-i",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_4-韻母-i"},[t("span",null,"4.韻母 i")])],-1),it=t("p",null,"在普通話中,i有兩種發音:",-1),st=t("ul",null,[t("li",null,"zi ci si [z̩]"),t("li",null,"ji qi xi [i]")],-1),ct=t("p",null,"在粵語中亦是如此,粵拼中的 i 在大多數時候代表發音 [i],而在韻尾為-k或-ng的時候發音是 [ɪ]。",-1),ot=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"[i]"),t("th",{style:{"text-align":"center"}},"[ɪ]")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si1')"},"詩 si1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sik1')"},"識 sik1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zi1')"},"知 zi1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zik1')"},"即 zik1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sin1')"},"仙 sin1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sing1')"},"星 sing1")])])])],-1),rt=t("h3",{id:"_5-韻母-ui、o",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_5-韻母-ui、o"},[t("span",null,"5.韻母 ui、o")])],-1),dt=t("p",null,"普通話拼音中有兩個韻母縮寫,分別是 ui 和 o。",-1),_t=t("ul",null,[t("li",null,"ui 其實是 uei 的縮寫,例如「會」字的拼音其實是 huei,只不過縮寫成了 hui。"),t("li",null,"同樣地,韻母 uo 在搭配聲母 b p m f 時會縮寫成 o。 例如「波」字的普通話發音其實是 buo,但縮寫成 bo")],-1),gt=t("p",null,"粵拼不使用韻母縮寫,也沒有 uei 和 uo 這兩個韻母。粵拼中的 ui 和 o 一致表示 [u͡i] 和 [ɔː] 的發音。",-1),ut=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"ui"),t("th",{style:{"text-align":"center"}},"o")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('wui3')"},"會 wui3")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('wo4')"},"和 wo4")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('bui1')"},"杯 bui1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('bo1')"},"波 bo1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('gui6')"},"癐 gui6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('go1')"},"歌 go1")])])])],-1),ht=t("h3",{id:"_6-聲母-ng",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_6-聲母-ng"},[t("span",null,"6.聲母 ng-")])],-1),yt=t("p",null,"這個音的國際音標是 [ŋ]。普通話裏沒有這個聲母,而粵語裏的聲母 ng- 和零聲母 Ø- 是有所不同的。",-1),pt=t("p",null,"零聲母是無需移動舌頭直接發聲,而ng-需要舌根略微後移,略微有抵住喉嚨的感覺,然後發生。(可以普通話讀一讀鷹這個字,感受讀到ing的時候此時口腔的感覺)",-1),xt=t("p",null,"普通話母語者初學這個聲母會有點困難,因爲普通話裏的 ng 只存在於韻尾(後鼻音),需要稍加練習在聲母位置發這個音。",-1),kt=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"ng-"),t("th",{style:{"text-align":"center"}},"Ø-")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('ngon6')"},"岸 ngon6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('on3')"},"按 on3")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('ngaan6')"},"雁 ngaan6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('aan3')"},"晏 aan3")])])])],-1),bt=t("h3",{id:"_7-韻尾-m",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_7-韻尾-m"},[t("span",null,"7.韻尾 -m")])],-1),mt=t("p",null,"普通話裏的鼻音韻尾只有 -n 和 -ng(前鼻音和後鼻音),沒有 -m。",-1),ft=t("p",null,"而粵語保留了 -m、-n、-ng 三種鼻音韻尾。",-1),zt=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"-m"),t("th",{style:{"text-align":"center"}},"-n"),t("th",{style:{"text-align":"center"}},"-ng")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saam1')"},"三 saam1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saan1')"},"山 saan1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saang1')"},"生 saang1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('ham4')"},"含 ham4")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('han4')"},"痕 han4")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('hang4')"},"岸 hang4")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zim1')"},"尖 zim1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zin1')"},"煎 zin1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zing1')"},"精 zing1")])])])],-1),vt=t("h3",{id:"_8-韻尾-p、-t、-k",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_8-韻尾-p、-t、-k"},[t("span",null,"8.韻尾 -p、-t、-k")])],-1),wt=t("p",null,"這三個韻尾就是傳統意義上的「入聲」。因爲普通話裏沒有入聲,所以對於普通話母語者來說需要花點時間來練習,下面的例字音頻可能要反覆播放對比才能聽出區別。",-1),jt=t("p",null,"粵語裏的入聲韻尾 -p、-t、-k 很像英語單詞 cap、put、book 末尾的輔音,但一個最大的區別是,粵語的入聲韻尾都是不除阻的(國際音標分別是 [p̚]、[t̚]、[k̚]),也就是音節末尾需保持類似英語p t k的口型,但不會像英語閲讀一樣呼出空氣。",-1),Nt=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"-p"),t("th",{style:{"text-align":"center"}},"-t"),t("th",{style:{"text-align":"center"}},"-k")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sap1')"},"濕 sap1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sat1')"},"失 sat1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sak1')"},"塞 sak1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zip3')"},"接 zip3")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zit1')"},"節 zit1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zek3')"},"脊 zek3")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zaap6')"},"集 zaap6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('wut6')"},"活 wut6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('luk6')"},"六 luk6")])])])],-1);function Tt(Ct,Vt){const l=o("font");return r(),d("div",null,[u,h,y,t("table",null,[t("thead",null,[t("tr",null,[p,x,t("th",k,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),b]),m,f,t("table",null,[t("thead",null,[t("tr",null,[z,v,t("th",w,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),j]),N,T,t("table",null,[t("thead",null,[t("tr",null,[C,V,t("th",B,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),S]),A,I,t("table",null,[t("thead",null,[t("tr",null,[q,D,t("th",E,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),J]),M,O,P,R,W,$,F,G,H,K,L,Q,U,X,Y,Z,tt,et,lt,nt,at,it,st,ct,ot,rt,dt,_t,gt,ut,ht,yt,pt,xt,kt,bt,mt,ft,zt,vt,wt,jt,Nt])}const It=c(g,[["render",Tt],["__file","compare.html.vue"]]),qt=JSON.parse('{"path":"/learning/compare.html","title":"基於漢語拼音的粵拼學習","lang":"zh-TW","frontmatter":{"title":"基於漢語拼音的粵拼學習","icon":"book","category":["學習"]},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"音調","slug":"音調","link":"#音調","children":[]},{"level":2,"title":"寫法區別","slug":"寫法區別","link":"#寫法區別","children":[{"level":3,"title":"1. y -> j","slug":"_1-y-j","link":"#_1-y-j","children":[]},{"level":3,"title":"2. ü -> yu","slug":"_2-u-yu","link":"#_2-u-yu","children":[]},{"level":3,"title":"3.gu-,ku- -> gw-, kw-","slug":"_3-gu-ku-gw-kw","link":"#_3-gu-ku-gw-kw","children":[]},{"level":3,"title":"4. ao -> aau","slug":"_4-ao-aau","link":"#_4-ao-aau","children":[]},{"level":3,"title":"5. ong -> ung","slug":"_5-ong-ung","link":"#_5-ong-ung","children":[]}]},{"level":2,"title":"音系區別","slug":"音系區別","link":"#音系區別","children":[{"level":3,"title":"1. 韻腹aa 與 a","slug":"_1-韻腹aa-與-a","link":"#_1-韻腹aa-與-a","children":[]},{"level":3,"title":"2.韻腹 eo、oe","slug":"_2-韻腹-eo、oe","link":"#_2-韻腹-eo、oe","children":[]},{"level":3,"title":"3.韻母 e","slug":"_3-韻母-e","link":"#_3-韻母-e","children":[]},{"level":3,"title":"4.韻母 i","slug":"_4-韻母-i","link":"#_4-韻母-i","children":[]},{"level":3,"title":"5.韻母 ui、o","slug":"_5-韻母-ui、o","link":"#_5-韻母-ui、o","children":[]},{"level":3,"title":"6.聲母 ng-","slug":"_6-聲母-ng","link":"#_6-聲母-ng","children":[]},{"level":3,"title":"7.韻尾 -m","slug":"_7-韻尾-m","link":"#_7-韻尾-m","children":[]},{"level":3,"title":"8.韻尾 -p、-t、-k","slug":"_8-韻尾-p、-t、-k","link":"#_8-韻尾-p、-t、-k","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711187403000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":3}]},"readingTime":{"minutes":6.86,"words":2059},"filePathRelative":"learning/compare.md","localizedDate":"2024年3月22日"}');export{It as comp,qt as data}; diff --git a/assets/compare.html-DilDUPo4.js b/assets/compare.html-DilDUPo4.js deleted file mode 100644 index 9f29913..0000000 --- a/assets/compare.html-DilDUPo4.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s}from"./Jyutping-OPLPt_jc.js";import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as r,c as d,a as t,d as n,w as a,e as i,b as e}from"./app-HW7jk_p0.js";const _="/navigator_jyutping/Mandarin.png",g={},u=i('

前言

本文將展示普通話漢語拼音與粵拼之間的區別,以幫助掌握普通話漢語拼音的使用者更快的理解粵拼,以此便於學習其他粵語教學材料。

  • 寫法區別:該發音在普通話與粵語中發相同的音,但由於粵語有一些普通話所不包含的發音,從國際音標和字母限制的角度考慮,使用了不同的寫法。
  • 音系區別:該發音是粵語獨有的,需要額外的學習與記憶。

在學習拼音方案分別之前,先要理解粵語的「六調」。

在粵拼方案中,不同於普通話注音的將音調標記在字母之上,粵拼將音調以數字1-6展示。

音調

粵語中有六個聲調,不同於普通話的四個聲調。普通話裏的四個聲調如下:

普通話音調
普通話音調
聲調陰平陽平上聲去聲
調值553521451
舉例詩 shī實 shí史 shǐ世 shì

而到粵語中則變化爲六個聲調*,如下:

粵語音調
粵語音調
',11),h=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"聲調"),t("th",{style:{"text-align":"center"}},"陰平"),t("th",{style:{"text-align":"center"}},"陰上"),t("th",{style:{"text-align":"center"}},"陰去"),t("th",{style:{"text-align":"center"}},"陽平"),t("th",{style:{"text-align":"center"}},"陽上"),t("th",{style:{"text-align":"center"}},"陽去")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"調值"),t("td",{style:{"text-align":"center"}},"55"),t("td",{style:{"text-align":"center"}},"35"),t("td",{style:{"text-align":"center"}},"33"),t("td",{style:{"text-align":"center"}},"21"),t("td",{style:{"text-align":"center"}},"13"),t("td",{style:{"text-align":"center"}},"22")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"舉例"),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si1')"},"詩 si1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si2')"},"史 si2")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si3')"},"試 si3")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si4')"},"時 si4")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si5')"},"市 si5")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si6')"},"事 si6")])])])],-1),y=i('

關於粵語中“入”聲調在粵拼中的使用

已經掌握粵語的讀者會發現此處未有標注高陰入,低陰入和陽入。

實際上來説,高陰入、低陰入、陽入聲調的音高,與陰平、陰去、陽去是一樣的(55 & 5, 33 &3, 22 &2),在粵拼方案中,以-p、-t、-k這些韻尾做出區別,傳統聲調的定義,包括抑揚性(即實際音高)和頓挫性。而入聲韻尾 -p、-t、-k 正是影響了其頓挫性。

因此粵語有「九聲六調」,標調時可以只視乎實際音高,用1至6六個數字,入聲看韻尾字母區分即可。懂粵語的讀者可將下方例和上方例一同閲讀下來即可理解。

例: 忽 fat1, 法 faat3, 罰 fat5

寫法區別

1. y -> j

在普通話拼音中的y在粵拼中寫作j,考慮有二

  • 在國際音標中,其發音為 [j],漢語拼音中將此發音寫作y是沿用了英語的方式(例: young: [jʌŋ])
  • 粵拼方案的出發點是僅使用ASCII字符表達發音,因此如果將這個音寫作y,會容易與韻母yu混淆。
',5),p=t("th",{style:{"text-align":"center"}},"例字",-1),x=t("th",{style:{"text-align":"center"}},"正確寫法",-1),k={style:{"text-align":"center"}},b=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"一"),t("td",{style:{"text-align":"center"}},"jat1"),t("td",{style:{"text-align":"center"}},"yat1")])],-1),m=t("h3",{id:"_2-u-yu",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_2-u-yu"},[t("span",null,"2. ü -> yu")])],-1),f=t("p",null,[e("在漢語拼音中的"),t("strong",null,"ü"),e("在粵拼中寫作"),t("strong",null,"yu"),e(",避免混淆的同時也將字母運用限制在26個字母内")],-1),z=t("th",{style:{"text-align":"center"}},"例字",-1),v=t("th",{style:{"text-align":"center"}},"正確寫法",-1),w={style:{"text-align":"center"}},j=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"豬"),t("td",{style:{"text-align":"center"}},"zyu1"),t("td",{style:{"text-align":"center"}},"zü1")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"雨"),t("td",{style:{"text-align":"center"}},"jyu5"),t("td",{style:{"text-align":"center"}},"jü5/ ju5")])],-1),N=t("h3",{id:"_3-gu-ku-gw-kw",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_3-gu-ku-gw-kw"},[t("span",null,"3.gu-,ku- -> gw-, kw-")])],-1),T=t("p",null,"gu-, ku-以gw-,kw-寫作",-1),C=t("th",{style:{"text-align":"center"}},"例字",-1),V=t("th",{style:{"text-align":"center"}},"正確寫法",-1),B={style:{"text-align":"center"}},S=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"狂"),t("td",{style:{"text-align":"center"}},"kwong4"),t("td",{style:{"text-align":"center"}},"kuong4")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"昆"),t("td",{style:{"text-align":"center"}},"kwan1"),t("td",{style:{"text-align":"center"}},"kuan1")])],-1),A=t("h3",{id:"_4-ao-aau",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_4-ao-aau"},[t("span",null,"4. ao -> aau")])],-1),I=t("p",null,"同y -> j,是遵循國際音標的寫法",-1),q=t("th",{style:{"text-align":"center"}},"例字",-1),D=t("th",{style:{"text-align":"center"}},"正確寫法",-1),E={style:{"text-align":"center"}},J=t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},"考"),t("td",{style:{"text-align":"center"}},"haau2"),t("td",{style:{"text-align":"center"}},"hao2/haao2")]),t("tr",null,[t("td",{style:{"text-align":"center"}},"包"),t("td",{style:{"text-align":"center"}},"baau1"),t("td",{style:{"text-align":"center"}},"bao1/baao1")])],-1),M=t("h3",{id:"_5-ong-ung",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_5-ong-ung"},[t("span",null,"5. ong -> ung")])],-1),O=t("p",null,"漢語拼音中的 ong 和粵拼的 ung 發音是一樣的,國際音標都是 [ʊŋ]",-1),P=t("p",null,"粵拼中的 ong 是普通話中不存在的發音,國際音標爲 [ɔŋ]。",-1),R=t("p",null,"例:",-1),W=t("p",null,[t("a",{onclick:"_play('zung1')"},"鍾 zung1")],-1),$=t("p",null,[t("a",{onclick:"_play('gong1')"},"江 gong1")],-1),F=t("h2",{id:"音系區別",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#音系區別"},[t("span",null,"音系區別")])],-1),G=t("h3",{id:"_1-韻腹aa-與-a",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_1-韻腹aa-與-a"},[t("span",null,"1. 韻腹aa 與 a")])],-1),H=t("p",null,"普拼的 a 等同於粵拼的 aa,國際音標是 [a]。",-1),K=t("p",null,"而粵拼裏的 a 是個普通話沒有的音,它的國際音標是 [ɐ]。aa 和 a 是兩個不同的韻腹,不能混淆。",-1),L=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"aa"),t("th",{style:{"text-align":"center"}},"a")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saam1')"},"三 saam1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sam1')"},"心 sam1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saan1')"},"山 saan1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saan1')"},"身 san1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saau1')"},"稍 saau1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sau1')"},"手 sau1")])])])],-1),Q=t("h3",{id:"_2-韻腹-eo、oe",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_2-韻腹-eo、oe"},[t("span",null,"2.韻腹 eo、oe")])],-1),U=t("p",null,"這兩個韻母的國際音標分別是 [ɵ]、[œ],普通話裏沒有這兩個發音,需要另加練習。",-1),X=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"eo"),t("th",{style:{"text-align":"center"}},"oe")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('seot1')"},"率 seot1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('soek3')"},"削 soek3")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('jeon6')"},"潤 jeon6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('joeng6')"},"讓 joeng6")])])])],-1),Y=t("h3",{id:"_3-韻母-e",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_3-韻母-e"},[t("span",null,"3.韻母 e")])],-1),Z=t("p",null,"粵拼裏的 e 永遠只代表一個發音 [ɛ~e],這個音類似於英語單詞 「yes」 的元音。",-1),tt=t("p",null,[t("a",{onclick:"_play('se2')"},"寫 se2")],-1),et=t("p",null,[t("a",{onclick:"_play('sek6')"},"石 sek6")],-1),lt=t("p",null,[t("a",{onclick:"_play('ze2')"},"借 ze2")],-1),nt=t("p",null,[t("a",{onclick:"_play('zeng6')"},"鄭 zeng6")],-1),at=t("h3",{id:"_4-韻母-i",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_4-韻母-i"},[t("span",null,"4.韻母 i")])],-1),it=t("p",null,"在普通話中,i有兩種發音:",-1),st=t("ul",null,[t("li",null,"zi ci si [z̩]"),t("li",null,"ji qi xi [i]")],-1),ct=t("p",null,"在粵語中亦是如此,粵拼中的 i 在大多數時候代表發音 [i],而在韻尾為-k或-ng的時候發音是 [ɪ]。",-1),ot=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"[i]"),t("th",{style:{"text-align":"center"}},"[ɪ]")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('si1')"},"詩 si1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sik1')"},"識 sik1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zi1')"},"知 zi1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zik1')"},"即 zik1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sin1')"},"仙 sin1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sing1')"},"星 sing1")])])])],-1),rt=t("h3",{id:"_5-韻母-ui、o",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_5-韻母-ui、o"},[t("span",null,"5.韻母 ui、o")])],-1),dt=t("p",null,"普通話拼音中有兩個韻母縮寫,分別是 ui 和 o。",-1),_t=t("ul",null,[t("li",null,"ui 其實是 uei 的縮寫,例如「會」字的拼音其實是 huei,只不過縮寫成了 hui。"),t("li",null,"同樣地,韻母 uo 在搭配聲母 b p m f 時會縮寫成 o。 例如「波」字的普通話發音其實是 buo,但縮寫成 bo")],-1),gt=t("p",null,"粵拼不使用韻母縮寫,也沒有 uei 和 uo 這兩個韻母。粵拼中的 ui 和 o 一致表示 [u͡i] 和 [ɔː] 的發音。",-1),ut=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"ui"),t("th",{style:{"text-align":"center"}},"o")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('wui3')"},"會 wui3")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('wo4')"},"和 wo4")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('bui1')"},"杯 bui1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('bo1')"},"波 bo1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('gui6')"},"癐 gui6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('go1')"},"歌 go1")])])])],-1),ht=t("h3",{id:"_6-聲母-ng",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_6-聲母-ng"},[t("span",null,"6.聲母 ng-")])],-1),yt=t("p",null,"這個音的國際音標是 [ŋ]。普通話裏沒有這個聲母,而粵語裏的聲母 ng- 和零聲母 Ø- 是有所不同的。",-1),pt=t("p",null,"零聲母是無需移動舌頭直接發聲,而ng-需要舌根略微後移,略微有抵住喉嚨的感覺,然後發生。(可以普通話讀一讀鷹這個字,感受讀到ing的時候此時口腔的感覺)",-1),xt=t("p",null,"普通話母語者初學這個聲母會有點困難,因爲普通話裏的 ng 只存在於韻尾(後鼻音),需要稍加練習在聲母位置發這個音。",-1),kt=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"ng-"),t("th",{style:{"text-align":"center"}},"Ø-")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('ngon6')"},"岸 ngon6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('on3')"},"按 on3")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('ngaan6')"},"雁 ngaan6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('aan3')"},"晏 aan3")])])])],-1),bt=t("h3",{id:"_7-韻尾-m",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_7-韻尾-m"},[t("span",null,"7.韻尾 -m")])],-1),mt=t("p",null,"普通話裏的鼻音韻尾只有 -n 和 -ng(前鼻音和後鼻音),沒有 -m。",-1),ft=t("p",null,"而粵語保留了 -m、-n、-ng 三種鼻音韻尾。",-1),zt=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"-m"),t("th",{style:{"text-align":"center"}},"-n"),t("th",{style:{"text-align":"center"}},"-ng")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saam1')"},"三 saam1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saan1')"},"山 saan1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('saang1')"},"生 saang1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('ham4')"},"含 ham4")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('han4')"},"痕 han4")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('hang4')"},"岸 hang4")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zim1')"},"尖 zim1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zin1')"},"煎 zin1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zing1')"},"精 zing1")])])])],-1),vt=t("h3",{id:"_8-韻尾-p、-t、-k",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_8-韻尾-p、-t、-k"},[t("span",null,"8.韻尾 -p、-t、-k")])],-1),wt=t("p",null,"這三個韻尾就是傳統意義上的「入聲」。因爲普通話裏沒有入聲,所以對於普通話母語者來說需要花點時間來練習,下面的例字音頻可能要反覆播放對比才能聽出區別。",-1),jt=t("p",null,"粵語裏的入聲韻尾 -p、-t、-k 很像英語單詞 cap、put、book 末尾的輔音,但一個最大的區別是,粵語的入聲韻尾都是不除阻的(國際音標分別是 [p̚]、[t̚]、[k̚]),也就是音節末尾需保持類似英語p t k的口型,但不會像英語閲讀一樣呼出空氣。",-1),Nt=t("table",null,[t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"-p"),t("th",{style:{"text-align":"center"}},"-t"),t("th",{style:{"text-align":"center"}},"-k")])]),t("tbody",null,[t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sap1')"},"濕 sap1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sat1')"},"失 sat1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('sak1')"},"塞 sak1")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zip3')"},"接 zip3")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zit1')"},"節 zit1")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zek3')"},"脊 zek3")])]),t("tr",null,[t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('zaap6')"},"集 zaap6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('wut6')"},"活 wut6")]),t("td",{style:{"text-align":"center"}},[t("a",{onclick:"_play('luk6')"},"六 luk6")])])])],-1);function Tt(Ct,Vt){const l=o("font");return r(),d("div",null,[u,h,y,t("table",null,[t("thead",null,[t("tr",null,[p,x,t("th",k,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),b]),m,f,t("table",null,[t("thead",null,[t("tr",null,[z,v,t("th",w,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),j]),N,T,t("table",null,[t("thead",null,[t("tr",null,[C,V,t("th",B,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),S]),A,I,t("table",null,[t("thead",null,[t("tr",null,[q,D,t("th",E,[n(l,{color:"red"},{default:a(()=>[e("錯誤寫法")]),_:1})])])]),J]),M,O,P,R,W,$,F,G,H,K,L,Q,U,X,Y,Z,tt,et,lt,nt,at,it,st,ct,ot,rt,dt,_t,gt,ut,ht,yt,pt,xt,kt,bt,mt,ft,zt,vt,wt,jt,Nt])}const It=c(g,[["render",Tt],["__file","compare.html.vue"]]),qt=JSON.parse('{"path":"/learning/compare.html","title":"基於漢語拼音的粵拼學習","lang":"zh-TW","frontmatter":{"title":"基於漢語拼音的粵拼學習","icon":"book","category":["學習"]},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"音調","slug":"音調","link":"#音調","children":[]},{"level":2,"title":"寫法區別","slug":"寫法區別","link":"#寫法區別","children":[{"level":3,"title":"1. y -> j","slug":"_1-y-j","link":"#_1-y-j","children":[]},{"level":3,"title":"2. ü -> yu","slug":"_2-u-yu","link":"#_2-u-yu","children":[]},{"level":3,"title":"3.gu-,ku- -> gw-, kw-","slug":"_3-gu-ku-gw-kw","link":"#_3-gu-ku-gw-kw","children":[]},{"level":3,"title":"4. ao -> aau","slug":"_4-ao-aau","link":"#_4-ao-aau","children":[]},{"level":3,"title":"5. ong -> ung","slug":"_5-ong-ung","link":"#_5-ong-ung","children":[]}]},{"level":2,"title":"音系區別","slug":"音系區別","link":"#音系區別","children":[{"level":3,"title":"1. 韻腹aa 與 a","slug":"_1-韻腹aa-與-a","link":"#_1-韻腹aa-與-a","children":[]},{"level":3,"title":"2.韻腹 eo、oe","slug":"_2-韻腹-eo、oe","link":"#_2-韻腹-eo、oe","children":[]},{"level":3,"title":"3.韻母 e","slug":"_3-韻母-e","link":"#_3-韻母-e","children":[]},{"level":3,"title":"4.韻母 i","slug":"_4-韻母-i","link":"#_4-韻母-i","children":[]},{"level":3,"title":"5.韻母 ui、o","slug":"_5-韻母-ui、o","link":"#_5-韻母-ui、o","children":[]},{"level":3,"title":"6.聲母 ng-","slug":"_6-聲母-ng","link":"#_6-聲母-ng","children":[]},{"level":3,"title":"7.韻尾 -m","slug":"_7-韻尾-m","link":"#_7-韻尾-m","children":[]},{"level":3,"title":"8.韻尾 -p、-t、-k","slug":"_8-韻尾-p、-t、-k","link":"#_8-韻尾-p、-t、-k","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":6.41,"words":1924},"filePathRelative":"learning/compare.md","localizedDate":"2024年3月22日"}');export{It as comp,qt as data}; diff --git a/assets/errors-BKkm5mBg.js b/assets/errors-CZET3P8Q.js similarity index 89% rename from assets/errors-BKkm5mBg.js rename to assets/errors-CZET3P8Q.js index cc91563..4380d8f 100644 --- a/assets/errors-BKkm5mBg.js +++ b/assets/errors-CZET3P8Q.js @@ -1 +1 @@ -import{P as t,c as a}from"./prod-D24nP0G3.js";import"./app-HW7jk_p0.js";const s={p(){return new t({code:a.BadSignature,reason:"missing WEBVTT file header",line:1})},q(n,e){return new t({code:a.BadTimestamp,reason:`cue start timestamp \`${n}\` is invalid on line ${e}`,line:e})},r(n,e){return new t({code:a.BadTimestamp,reason:`cue end timestamp \`${n}\` is invalid on line ${e}`,line:e})},s(n,e,r){return new t({code:a.BadTimestamp,reason:`cue end timestamp \`${e}\` is greater than start \`${n}\` on line ${r}`,line:r})},w(n,e,r){return new t({code:a.BadSettingValue,reason:`invalid value for cue setting \`${n}\` on line ${r} (value: ${e})`,line:r})},v(n,e,r){return new t({code:a.UnknownSetting,reason:`unknown cue setting \`${n}\` on line ${r} (value: ${e})`,line:r})},u(n,e,r){return new t({code:a.BadSettingValue,reason:`invalid value for region setting \`${n}\` on line ${r} (value: ${e})`,line:r})},t(n,e,r){return new t({code:a.UnknownSetting,reason:`unknown region setting \`${n}\` on line ${r} (value: ${e})`,line:r})},N(n,e){return new t({code:a.BadFormat,reason:`format missing for \`${n}\` block on line ${e}`,line:e})}};export{s as ParseErrorBuilder}; +import{P as t,c as a}from"./prod-BPmjCPvw.js";import"./app-BoGlXVck.js";const s={p(){return new t({code:a.BadSignature,reason:"missing WEBVTT file header",line:1})},q(n,e){return new t({code:a.BadTimestamp,reason:`cue start timestamp \`${n}\` is invalid on line ${e}`,line:e})},r(n,e){return new t({code:a.BadTimestamp,reason:`cue end timestamp \`${n}\` is invalid on line ${e}`,line:e})},s(n,e,r){return new t({code:a.BadTimestamp,reason:`cue end timestamp \`${e}\` is greater than start \`${n}\` on line ${r}`,line:r})},w(n,e,r){return new t({code:a.BadSettingValue,reason:`invalid value for cue setting \`${n}\` on line ${r} (value: ${e})`,line:r})},v(n,e,r){return new t({code:a.UnknownSetting,reason:`unknown cue setting \`${n}\` on line ${r} (value: ${e})`,line:r})},u(n,e,r){return new t({code:a.BadSettingValue,reason:`invalid value for region setting \`${n}\` on line ${r} (value: ${e})`,line:r})},t(n,e,r){return new t({code:a.UnknownSetting,reason:`unknown region setting \`${n}\` on line ${r} (value: ${e})`,line:r})},N(n,e){return new t({code:a.BadFormat,reason:`format missing for \`${n}\` block on line ${e}`,line:e})}};export{s as ParseErrorBuilder}; diff --git a/assets/game.html-DMdR7Nkb.js b/assets/game.html-BySDj7u0.js similarity index 97% rename from assets/game.html-DMdR7Nkb.js rename to assets/game.html-BySDj7u0.js index 30f6250..2beef06 100644 --- a/assets/game.html-DMdR7Nkb.js +++ b/assets/game.html-BySDj7u0.js @@ -1 +1 @@ -import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as n,c as i,d as t,a as e}from"./app-HW7jk_p0.js";const s={},c=e("h2",{id:"let-s-play",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#let-s-play"},[e("span",null,"Let's play!!")])],-1),r=e("p",null,"本文爲你推薦三款粵拼相關游戲,幫助你在學習之餘多加練習粵拼!",-1),d=e("h3",{id:"cantorocks",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cantorocks"},[e("span",null,"CantoRocks")])],-1),u=e("p",null,"要練到又快又準不容易喔!該游戲設置有不同的難度和關卡,無論你是初學者還是母語者,該游戲都能爲你帶來挑戰性!",-1),h=e("p",null,"游戲内包括的模式:",-1),p=e("ul",null,[e("li",null,"初始練習模式(僅需打出正確的聲母)"),e("li",null,"終極練習模式(僅需打出正確的韻母&韻尾)"),e("li",null,"音調練習模式(僅需打出正確的音調)"),e("li",null,"普通模式(打出粵拼,但無需打出聲調)"),e("li",null,"終極挑戰(打出粵拼及其正確的聲調)")],-1),_=e("h3",{id:"zidou",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zidou"},[e("span",null,"Zidou")])],-1),m=e("p",null,"六次機會,六個詞語,你幾次才能猜得到謎底?",-1),k=e("h3",{id:"六合lukhap",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#六合lukhap"},[e("span",null,"六合Lukhap")])],-1),g=e("p",null,"六次機會,六個詞語,不知是何聲母同韻母及韻尾組成,你又幾次才能猜得到謎底?",-1);function f(v,z){const l=o("SiteInfo");return n(),i("div",null,[c,r,d,t(l,{name:"CantoRocks",desc:"粵拼版打磚塊",url:"https://chaaklau.github.io/cantorocks/",preview:"/CantoRocks.png"}),u,h,p,_,t(l,{name:"Zidou",desc:"粵拼版Wordle(EZMOD)",url:"https://chaaklau.github.io/zidou/",preview:"/Zidou.png"}),m,k,t(l,{name:"Lukhap",desc:"粵拼版Wordle(HARD)",url:"https://chaaklau.github.io/zidou/",preview:"/Lukhap.png"}),g])}const y=a(s,[["render",f],["__file","game.html.vue"]]),C=JSON.parse(`{"path":"/practice/game.html","title":"游戲式練習","lang":"zh-TW","frontmatter":{"title":"游戲式練習","icon":"puzzle-piece","category":["練習"]},"headers":[{"level":2,"title":"Let's play!!","slug":"let-s-play","link":"#let-s-play","children":[{"level":3,"title":"CantoRocks","slug":"cantorocks","link":"#cantorocks","children":[]},{"level":3,"title":"Zidou","slug":"zidou","link":"#zidou","children":[]},{"level":3,"title":"六合Lukhap","slug":"六合lukhap","link":"#六合lukhap","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":0.93,"words":279},"filePathRelative":"practice/game.md","localizedDate":"2024年3月22日"}`);export{y as comp,C as data}; +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as n,c as i,d as t,a as e}from"./app-BoGlXVck.js";const s={},c=e("h2",{id:"let-s-play",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#let-s-play"},[e("span",null,"Let's play!!")])],-1),r=e("p",null,"本文爲你推薦三款粵拼相關游戲,幫助你在學習之餘多加練習粵拼!",-1),d=e("h3",{id:"cantorocks",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cantorocks"},[e("span",null,"CantoRocks")])],-1),u=e("p",null,"要練到又快又準不容易喔!該游戲設置有不同的難度和關卡,無論你是初學者還是母語者,該游戲都能爲你帶來挑戰性!",-1),h=e("p",null,"游戲内包括的模式:",-1),p=e("ul",null,[e("li",null,"初始練習模式(僅需打出正確的聲母)"),e("li",null,"終極練習模式(僅需打出正確的韻母&韻尾)"),e("li",null,"音調練習模式(僅需打出正確的音調)"),e("li",null,"普通模式(打出粵拼,但無需打出聲調)"),e("li",null,"終極挑戰(打出粵拼及其正確的聲調)")],-1),_=e("h3",{id:"zidou",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zidou"},[e("span",null,"Zidou")])],-1),m=e("p",null,"六次機會,六個詞語,你幾次才能猜得到謎底?",-1),k=e("h3",{id:"六合lukhap",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#六合lukhap"},[e("span",null,"六合Lukhap")])],-1),g=e("p",null,"六次機會,六個詞語,不知是何聲母同韻母及韻尾組成,你又幾次才能猜得到謎底?",-1);function f(v,z){const l=o("SiteInfo");return n(),i("div",null,[c,r,d,t(l,{name:"CantoRocks",desc:"粵拼版打磚塊",url:"https://chaaklau.github.io/cantorocks/",preview:"/CantoRocks.png"}),u,h,p,_,t(l,{name:"Zidou",desc:"粵拼版Wordle(EZMOD)",url:"https://chaaklau.github.io/zidou/",preview:"/Zidou.png"}),m,k,t(l,{name:"Lukhap",desc:"粵拼版Wordle(HARD)",url:"https://chaaklau.github.io/zidou/",preview:"/Lukhap.png"}),g])}const y=a(s,[["render",f],["__file","game.html.vue"]]),C=JSON.parse(`{"path":"/practice/game.html","title":"游戲式練習","lang":"zh-TW","frontmatter":{"title":"游戲式練習","icon":"puzzle-piece","category":["練習"]},"headers":[{"level":2,"title":"Let's play!!","slug":"let-s-play","link":"#let-s-play","children":[{"level":3,"title":"CantoRocks","slug":"cantorocks","link":"#cantorocks","children":[]},{"level":3,"title":"Zidou","slug":"zidou","link":"#zidou","children":[]},{"level":3,"title":"六合Lukhap","slug":"六合lukhap","link":"#六合lukhap","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":0.93,"words":279},"filePathRelative":"practice/game.md","localizedDate":"2024年3月22日"}`);export{y as comp,C as data}; diff --git a/assets/index.html-0J3fxd98.js b/assets/index.html-0J3fxd98.js deleted file mode 100644 index ff84d7e..0000000 --- a/assets/index.html-0J3fxd98.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as r,c as s,a,b as e,d as o,e as l}from"./app-HW7jk_p0.js";const c={},d=l('

學習前必讀

關於文字及表達語言之采用

考慮到香港地區所推行的兩文三語制度,亦由於粵語之對應文字為繁體中文,因此本站僅采用繁體中文,爲便於内地學生學習,本站采用普通話表達。

關於本站所采用之拼音方案

',4),h={href:"https://lshk.org/",target:"_blank",rel:"noopener noreferrer"},p=a("strong",null,"香港語言學學會粵語拼音方案",-1),_=a("strong",null,"粵拼",-1),m=l('

相比較其他拼音方案,其優點在於:

  • 一個符號僅對應一個音,準確性好
  • 僅使用ACSII字符,便於計算機上的使用
  • 易學,大部分的字母選擇符合英語使用人士的發音直覺
  • 音位的把握較好,能夠准確的表現發音。

你的語言水平如何?

',4);function u(f,g){const n=i("ExternalLinkIcon");return r(),s("div",null,[d,a("p",null,[e("本站所選用的是由"),a("a",h,[e("香港語言學學會"),o(n)]),e("于1993年年底所推出的"),p,e(",簡稱"),_]),m])}const v=t(c,[["render",u],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/learning/","title":"粵拼學習","lang":"zh-TW","frontmatter":{"title":"粵拼學習","index":false,"icon":"book","category":["學習"]},"headers":[{"level":2,"title":"學習前必讀","slug":"學習前必讀","link":"#學習前必讀","children":[{"level":3,"title":"關於文字及表達語言之采用","slug":"關於文字及表達語言之采用","link":"#關於文字及表達語言之采用","children":[]},{"level":3,"title":"關於本站所采用之拼音方案","slug":"關於本站所采用之拼音方案","link":"#關於本站所采用之拼音方案","children":[]},{"level":3,"title":"你的語言水平如何?","slug":"你的語言水平如何","link":"#你的語言水平如何","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":0.91,"words":273},"filePathRelative":"learning/README.md","localizedDate":"2024年3月22日"}');export{v as comp,b as data}; diff --git a/assets/index.html-uM4zh32R.js b/assets/index.html-BCPoDGXw.js similarity index 95% rename from assets/index.html-uM4zh32R.js rename to assets/index.html-BCPoDGXw.js index 279efcd..f56c416 100644 --- a/assets/index.html-uM4zh32R.js +++ b/assets/index.html-BCPoDGXw.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as r}from"./app-HW7jk_p0.js";const i={};function a(s,o){return e(),r("div")}const b=t(i,[["render",a],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/","title":"首頁","lang":"zh-TW","frontmatter":{"home":true,"icon":"home","title":"首頁","heroImage":"logo.png","bgImageStyle":{"background-attachment":"fixed"},"heroText":"Navigator Jyutping","tagline":"gaan2  daan1  hap6  lei5  ,  ji6  hok6  ji6  jung6  ,
tung1  hang4  jyut6  jyu5  ping3  jam1  fong1  on3 ","actions":[{"text":"開始學習","icon":"lightbulb","link":"./learning/","type":"primary"},{"text":"資源分享","link":"./resource/"}],"highlights":[{"header":"爲什麽要學習粵拼?","image":"/assets/image/box.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/3-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/3-dark.svg","highlights":[{"title":"漢字并非拼音文字,需要一個拼音方案來準確表達粵語的發音。"},{"title":"學普通話要學普通話拼音,學粵語就要學粵拼。掌握粵拼可以幫助糾正懶音錯音,規範自己的粵語發音。"},{"title":"學會了粵拼,就能用粵拼輸入法作爲最自然簡單的打字方式輸入粵語。"}]},{"header":"已經會粵語?唔知點樣輸入?","image":"/assets/image/features.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/1-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/1-dark.svg","features":[{"title":"macOS Ventura & Sonoma","icon":"circle-info","details":"現已支持粵拼輸入,查看設置方法","link":"https://support.apple.com/zh-hk/guide/chinese-input-method/cimcba750589/104/mac/13.0"},{"title":"iOS 16 & iPad OS 16及更新版本","icon":"circle-info","details":"現已支持粵拼輸入"},{"title":"GBoard-the Google board","icon":"search","details":"同你嘅Android系統最配嘅鍵盤","link":"https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin&hl=zh_HK"},{"title":"搜狗輸入法粵拼鍵盤","icon":"comment-dots","details":"下載後入設置界面嘅「語言設置」,揀「中文-粵語」選擇九宮格或者全鍵盤,就可以用粵拼打字。","link":"https://shouji.sogou.com/"},{"title":"粵拼-開源粵拼輸入法","icon":"circle-info","details":"支援iOS,iPadOS, macOS
源代碼","link":"https://apps.apple.com/cn/app/%E7%B2%A4%E6%8B%BC-%E7%B2%A4%E8%AF%AD%E8%BE%93%E5%85%A5%E6%B3%95%E5%B9%BF%E4%B8%9C%E8%AF%9D%E8%BE%93%E5%85%A5%E6%B3%95%E9%94%AE%E7%9B%98%E5%AD%97%E5%85%B8%E5%AD%A6%E4%B9%A0/id1509367629"},{"title":"Cantoboard-開源粵拼輸入法","icon":"circle-info","details":"支援iOS,iPadOS
源代碼","link":"https://apps.apple.com/cn/app/cantoboard/id1556817074"},{"title":"Rime 粵拼","icon":"copy","details":"Rime 粵拼支援全平臺(Windows, macOS, Linux, iOS, Android)。","link":"https://jyutping.net/"},{"title":"TypeDuck","icon":"copy","details":"廣東話,有得打。支援全平臺(Windows, macOS, iOS, Android)。","link":"https://typeduck.hk/"}]}],"copyright":false,"footer":"2024-present BIS Navigator"},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":2.01,"words":602},"filePathRelative":"README.md","localizedDate":"2024年3月22日"}');export{b as comp,l as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as r}from"./app-BoGlXVck.js";const i={};function a(s,o){return e(),r("div")}const b=t(i,[["render",a],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/","title":"首頁","lang":"zh-TW","frontmatter":{"home":true,"icon":"home","title":"首頁","heroImage":"logo.png","bgImageStyle":{"background-attachment":"fixed"},"heroText":"Navigator Jyutping","tagline":"gaan2  daan1  hap6  lei5  ,  ji6  hok6  ji6  jung6  ,
tung1  hang4  jyut6  jyu5  ping3  jam1  fong1  on3 ","actions":[{"text":"開始學習","icon":"lightbulb","link":"./learning/","type":"primary"},{"text":"資源分享","link":"./resource/"}],"highlights":[{"header":"爲什麽要學習粵拼?","image":"/assets/image/box.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/3-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/3-dark.svg","highlights":[{"title":"漢字并非拼音文字,需要一個拼音方案來準確表達粵語的發音。"},{"title":"學普通話要學普通話拼音,學粵語就要學粵拼。掌握粵拼可以幫助糾正懶音錯音,規範自己的粵語發音。"},{"title":"學會了粵拼,就能用粵拼輸入法作爲最自然簡單的打字方式輸入粵語。"}]},{"header":"已經會粵語?唔知點樣輸入?","image":"/assets/image/features.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/1-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/1-dark.svg","features":[{"title":"macOS Ventura & Sonoma","icon":"circle-info","details":"現已支持粵拼輸入,查看設置方法","link":"https://support.apple.com/zh-hk/guide/chinese-input-method/cimcba750589/104/mac/13.0"},{"title":"iOS 16 & iPad OS 16及更新版本","icon":"circle-info","details":"現已支持粵拼輸入"},{"title":"GBoard-the Google board","icon":"search","details":"同你嘅Android系統最配嘅鍵盤","link":"https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin&hl=zh_HK"},{"title":"搜狗輸入法粵拼鍵盤","icon":"comment-dots","details":"下載後入設置界面嘅「語言設置」,揀「中文-粵語」選擇九宮格或者全鍵盤,就可以用粵拼打字。","link":"https://shouji.sogou.com/"},{"title":"粵拼-開源粵拼輸入法","icon":"circle-info","details":"支援iOS,iPadOS, macOS
源代碼","link":"https://apps.apple.com/cn/app/%E7%B2%A4%E6%8B%BC-%E7%B2%A4%E8%AF%AD%E8%BE%93%E5%85%A5%E6%B3%95%E5%B9%BF%E4%B8%9C%E8%AF%9D%E8%BE%93%E5%85%A5%E6%B3%95%E9%94%AE%E7%9B%98%E5%AD%97%E5%85%B8%E5%AD%A6%E4%B9%A0/id1509367629"},{"title":"Cantoboard-開源粵拼輸入法","icon":"circle-info","details":"支援iOS,iPadOS
源代碼","link":"https://apps.apple.com/cn/app/cantoboard/id1556817074"},{"title":"Rime 粵拼","icon":"copy","details":"Rime 粵拼支援全平臺(Windows, macOS, Linux, iOS, Android)。","link":"https://jyutping.net/"},{"title":"TypeDuck","icon":"copy","details":"廣東話,有得打。支援全平臺(Windows, macOS, iOS, Android)。","link":"https://typeduck.hk/"}]}],"copyright":false,"footer":"2024-present BIS Navigator"},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711187403000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":3}]},"readingTime":{"minutes":2.01,"words":602},"filePathRelative":"README.md","localizedDate":"2024年3月22日"}');export{b as comp,l as data}; diff --git a/assets/index.html-DMPzDHYG.js b/assets/index.html-BJzQSwCd.js similarity index 95% rename from assets/index.html-DMPzDHYG.js rename to assets/index.html-BJzQSwCd.js index 0ad243c..572b535 100644 --- a/assets/index.html-DMPzDHYG.js +++ b/assets/index.html-BJzQSwCd.js @@ -1 +1 @@ -import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as l,c as i,a as e,b as n,d as t}from"./app-HW7jk_p0.js";const _={},d=e("p",null,"這套課程來自香港中文大學的10周粵拼打字課程,本站按周進行了整理,你可選擇每周花費5分鐘時間進行學習,亦可在此處花費1小時進行整體學習。",-1),p=e("p",null,"要開始按周學習,請轉到下方的目錄頁。",-1),m={href:"https://ling.cuhk.edu.hk/jyutpingteaching/typing_10weeks.pdf",target:"_blank",rel:"noopener noreferrer"},u={href:"https://youtu.be/MOsf0BcLzlc?si=XTsyqKD9Jp8dqGk2",target:"_blank",rel:"noopener noreferrer"};function h(f,k){const c=o("ExternalLinkIcon"),r=o("VidStack"),a=o("catalog");return l(),i("div",null,[d,p,e("p",null,[n("請下載配套材料以同步學習:"),e("a",m,[n("下載鏈接"),t(c)])]),t(r,{src:"youtube/MOsf0BcLzlc",title:"【廣東話教室】52 分鐘學識 LSHK 粵拼"}),e("p",null,[e("a",u,[n("訪問原始視頻"),t(c)])]),t(a)])}const b=s(_,[["render",h],["__file","index.html.vue"]]),v=JSON.parse('{"path":"/resource/10weeks/","title":"10周學粵拼","lang":"zh-TW","frontmatter":{"title":"10周學粵拼","icon":"laptop-code","category":["資源"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":0.46,"words":139},"filePathRelative":"resource/10weeks/README.md","localizedDate":"2024年3月22日"}');export{b as comp,v as data}; +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as l,c as i,a as e,b as n,d as t}from"./app-BoGlXVck.js";const _={},d=e("p",null,"這套課程來自香港中文大學的10周粵拼打字課程,本站按周進行了整理,你可選擇每周花費5分鐘時間進行學習,亦可在此處花費1小時進行整體學習。",-1),p=e("p",null,"要開始按周學習,請轉到下方的目錄頁。",-1),m={href:"https://ling.cuhk.edu.hk/jyutpingteaching/typing_10weeks.pdf",target:"_blank",rel:"noopener noreferrer"},u={href:"https://youtu.be/MOsf0BcLzlc?si=XTsyqKD9Jp8dqGk2",target:"_blank",rel:"noopener noreferrer"};function h(f,k){const c=o("ExternalLinkIcon"),r=o("VidStack"),a=o("catalog");return l(),i("div",null,[d,p,e("p",null,[n("請下載配套材料以同步學習:"),e("a",m,[n("下載鏈接"),t(c)])]),t(r,{src:"youtube/MOsf0BcLzlc",title:"【廣東話教室】52 分鐘學識 LSHK 粵拼"}),e("p",null,[e("a",u,[n("訪問原始視頻"),t(c)])]),t(a)])}const b=s(_,[["render",h],["__file","index.html.vue"]]),v=JSON.parse('{"path":"/resource/10weeks/","title":"10周學粵拼","lang":"zh-TW","frontmatter":{"title":"10周學粵拼","icon":"laptop-code","category":["資源"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":0.46,"words":139},"filePathRelative":"resource/10weeks/README.md","localizedDate":"2024年3月22日"}');export{b as comp,v as data}; diff --git a/assets/index.html-CkoR8-Aq.js b/assets/index.html-C9kiyTqK.js similarity index 91% rename from assets/index.html-CkoR8-Aq.js rename to assets/index.html-C9kiyTqK.js index ec40bf1..8a48979 100644 --- a/assets/index.html-CkoR8-Aq.js +++ b/assets/index.html-C9kiyTqK.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o,c as r,d as n}from"./app-HW7jk_p0.js";const c={};function i(s,l){const e=a("Catalog");return o(),r("div",null,[n(e)])}const _=t(c,[["render",i],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/research/","title":"説文解字","lang":"zh-TW","frontmatter":{"title":"説文解字","index":false,"icon":"person-chalkboard","category":["使用指南"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.06,"words":17},"filePathRelative":"research/README.md","localizedDate":"2024年3月22日"}');export{_ as comp,p as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o,c as r,d as n}from"./app-BoGlXVck.js";const c={};function i(s,l){const e=a("Catalog");return o(),r("div",null,[n(e)])}const _=t(c,[["render",i],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/research/","title":"説文解字","lang":"zh-TW","frontmatter":{"title":"説文解字","index":false,"icon":"person-chalkboard","category":["使用指南"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.06,"words":17},"filePathRelative":"research/README.md","localizedDate":"2024年3月22日"}');export{_ as comp,p as data}; diff --git a/assets/index.html-BLJ3dzYZ.js b/assets/index.html-DrqVnwqX.js similarity index 91% rename from assets/index.html-BLJ3dzYZ.js rename to assets/index.html-DrqVnwqX.js index fdd8be6..e72f7c8 100644 --- a/assets/index.html-BLJ3dzYZ.js +++ b/assets/index.html-DrqVnwqX.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as r,d as c}from"./app-HW7jk_p0.js";const n={};function i(l,s){const e=o("Catalog");return a(),r("div",null,[c(e)])}const _=t(n,[["render",i],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/resource/","title":"資源共享","lang":"zh-TW","frontmatter":{"title":"資源共享","index":false,"icon":"laptop-code","category":["使用指南"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.06,"words":17},"filePathRelative":"resource/README.md","localizedDate":"2024年3月22日"}');export{_ as comp,p as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as r,d as c}from"./app-BoGlXVck.js";const n={};function i(l,s){const e=o("Catalog");return a(),r("div",null,[c(e)])}const _=t(n,[["render",i],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/resource/","title":"資源共享","lang":"zh-TW","frontmatter":{"title":"資源共享","index":false,"icon":"laptop-code","category":["使用指南"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.06,"words":17},"filePathRelative":"resource/README.md","localizedDate":"2024年3月22日"}');export{_ as comp,p as data}; diff --git a/assets/index.html-SCjkz9pv.js b/assets/index.html-S8KbRBCr.js similarity index 91% rename from assets/index.html-SCjkz9pv.js rename to assets/index.html-S8KbRBCr.js index 73ac506..85bfabe 100644 --- a/assets/index.html-SCjkz9pv.js +++ b/assets/index.html-S8KbRBCr.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o,c,d as i}from"./app-HW7jk_p0.js";const r={};function n(l,m){const e=a("Catalog");return o(),c("div",null,[i(e)])}const _=t(r,[["render",n],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/practice/","title":"粵拼練習","lang":"zh-TW","frontmatter":{"title":"粵拼練習","index":false,"icon":"highlighter","category":["使用指南"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.05,"words":16},"filePathRelative":"practice/README.md","localizedDate":"2024年3月22日"}');export{_ as comp,p as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o,c,d as i}from"./app-BoGlXVck.js";const r={};function n(l,m){const e=a("Catalog");return o(),c("div",null,[i(e)])}const _=t(r,[["render",n],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/practice/","title":"粵拼練習","lang":"zh-TW","frontmatter":{"title":"粵拼練習","index":false,"icon":"highlighter","category":["使用指南"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711171131000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.05,"words":16},"filePathRelative":"practice/README.md","localizedDate":"2024年3月22日"}');export{_ as comp,p as data}; diff --git a/assets/index.html-nDsnwHZO.js b/assets/index.html-nDsnwHZO.js new file mode 100644 index 0000000..9238fc0 --- /dev/null +++ b/assets/index.html-nDsnwHZO.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as r,c as s,a,b as e,d as o,e as l}from"./app-BoGlXVck.js";const c={},d=l('

學習前必讀

關於文字及表達語言之采用

考慮到香港地區所推行的兩文三語制度,其對應文字為繁體中文,因此本站僅采用繁體中文,爲便於内地學生學習,本站采用普通話表達。

關於本站所采用之拼音方案

',4),h={href:"https://lshk.org/",target:"_blank",rel:"noopener noreferrer"},p=a("strong",null,"香港語言學學會粵語拼音方案",-1),_=a("strong",null,"粵拼",-1),m=l('

相比較其他拼音方案,其優點在於:

  • 一個符號僅對應一個音,準確性好
  • 僅使用ACSII字符,便於計算機上的使用
  • 易學,大部分的字母選擇符合英語使用人士的發音直覺
  • 音位的把握較好,能夠准確的表現發音。

你的語言水平如何?

',4);function u(f,g){const n=i("ExternalLinkIcon");return r(),s("div",null,[d,a("p",null,[e("本站所選用的是由"),a("a",h,[e("香港語言學學會"),o(n)]),e("于1993年年底所推出的"),p,e(",簡稱"),_]),m])}const v=t(c,[["render",u],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/learning/","title":"粵拼學習","lang":"zh-TW","frontmatter":{"title":"粵拼學習","index":false,"icon":"book","category":["學習"]},"headers":[{"level":2,"title":"學習前必讀","slug":"學習前必讀","link":"#學習前必讀","children":[{"level":3,"title":"關於文字及表達語言之采用","slug":"關於文字及表達語言之采用","link":"#關於文字及表達語言之采用","children":[]},{"level":3,"title":"關於本站所采用之拼音方案","slug":"關於本站所采用之拼音方案","link":"#關於本站所采用之拼音方案","children":[]},{"level":3,"title":"你的語言水平如何?","slug":"你的語言水平如何","link":"#你的語言水平如何","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711187403000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":2}]},"readingTime":{"minutes":0.89,"words":268},"filePathRelative":"learning/README.md","localizedDate":"2024年3月22日"}');export{v as comp,b as data}; diff --git a/assets/jsrs.html-DqNBEUxY.js b/assets/jsrs.html-C_kacQZy.js similarity index 98% rename from assets/jsrs.html-DqNBEUxY.js rename to assets/jsrs.html-C_kacQZy.js index 84d4788..b47482f 100644 --- a/assets/jsrs.html-DqNBEUxY.js +++ b/assets/jsrs.html-C_kacQZy.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as d,c as u,a as l,b as n,d as o,e as i}from"./app-HW7jk_p0.js";const e={},p=l("h2",{id:"聲母表",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#聲母表"},[l("span",null,"聲母表")])],-1),s=l("table",null,[l("tr",null,[l("th"),l("th",null,"雙脣音"),l("th",null,"脣齒音"),l("th",null,"齒齦音"),l("th",null,"硬腭音"),l("th",null,"軟腭音"),l("th",null,"喉音")]),l("tr",null,[l("td",null,"爆發音"),l("td",null,[l("a",{onclick:"_play('baa1')"},"b [p] 巴 "),l("br"),l("a",{onclick:"_play('paa3')"},"p [pʰ] 怕 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('daa2')"},"d [t] 打 "),l("br"),l("a",{onclick:"_play('taa1')"},"t [tʰ] 他 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('gaa1')"},"g [k] 家 "),l("br"),l("a",{onclick:"_play('kaa1')"},"k [kʰ] 卡 "),l("br"),l("a",{onclick:"_play('gwaa1')"},"gw [kʷ] 瓜 "),l("br"),l("a",{onclick:"_play('kwaa1')"},"kw [kʷʰ] 夸 ")]),l("td")]),l("tr",null,[l("td",null,"塞擦音"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('zaa1')"},"z [t͡s~t͡ʃ] 渣 "),l("br"),l("a",{onclick:"_play('caa1')"},"c [t͡sʰ~t͡ʃʰ] 叉 ")]),l("td"),l("td"),l("td")]),l("tr",null,[l("td",null,"鼻音"),l("td",null,[l("a",{onclick:"_play('maa1')"},"m [m] 媽 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('naa1')"},"n [n] 那 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('ngaa4')"},"ng [ŋ] 牙 ")]),l("td")]),l("tr",null,[l("td",null,"擦音"),l("td"),l("td",null,[l("a",{onclick:"_play('faa1')"},"f [f] 花 ")]),l("td",null,[l("a",{onclick:"_play('saa1')"},"s [s] 沙 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('haa1')"},"h [h] 蝦 ")])]),l("tr",null,[l("td",null,"近音"),l("td",null,[l("a",{onclick:"_play('waa1')"},"w [w] 蛙 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('jaa5')"},"j [j] 也 ")]),l("td"),l("td")]),l("tr",null,[l("td",null,"邊近音"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('laa1')"},"l [l] 啦 ")]),l("td"),l("td"),l("td")])],-1),k=i('

提示

零聲母不用字母作標記,如「呀」只拼作 a a。

韻母表

韻腹

',3),_=l("table",null,[l("tr",null,[l("td",null,[n(" i [iː] "),l("a",{onclick:"_play('si1')"},"詩"),l("br"),n(" i"),l("sub",null,"後接 -ng, -k"),n(" [e] "),l("a",{onclick:"_play('sing1')"},"星"),n(" "),l("a",{onclick:"_play('sik1')"},"識"),l("br"),n(" yu [y]"),l("a",{onclick:"_play('syu1')"},"書")]),l("td"),l("td",null,[n("u [uː] "),l("a",{onclick:"_play('fu1')"},"夫"),l("br"),n(" u"),l("sub",null,"後接 -ng, -k"),n(" [o] "),l("a",{onclick:"_play('fung1')"},"風"),n(" "),l("a",{onclick:"_play('fuk1')"},"福")])]),l("tr",null,[l("td",null,[n("e"),l("sub",null,"後接 -i"),n(" [e] "),l("a",{onclick:"_play('sei3')"},"四"),l("br"),n(" eo [ɵ] "),l("a",{onclick:"_play('seon1')"},"詢")]),l("td"),l("td",null,[n("o"),l("sub",null,"後接 -u"),n(" [o] "),l("a",{onclick:"_play('sou1')"},"蘇")])]),l("tr",null,[l("td",null,[n("e [ɛː] "),l("a",{onclick:"_play('se1')"},"些"),l("br"),n(" oe [œː] "),l("a",{onclick:"_play('goe3')"},"鋸")]),l("td",null,[n("a [ɐ] "),l("a",{onclick:"_play('san1')"},"新")]),l("td",null,[n("o [ɔː] "),l("a",{onclick:"_play('so1')"},"疏")])]),l("tr",null,[l("td"),l("td",null,[n("aa [aː] "),l("a",{onclick:"_play('saa1')"},"沙")]),l("td")])],-1),r=l("h3",{id:"韻尾",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#韻尾"},[l("span",null,"韻尾")])],-1),y=l("table",null,[l("tr",null,[l("th",null,"爆發音"),l("td",null,[n("p [p̚] "),l("a",{onclick:"_play('sap1')"},"溼")]),l("td",null,[n("t [t̚] "),l("a",{onclick:"_play('sat1')"},"失 ")]),l("td",null,[n("k [k̚] "),l("a",{onclick:"_play('sak1')"},"塞 ")])]),l("tr",null,[l("th",null,"鼻音"),l("td",null,[n("m [m] "),l("a",{onclick:"_play('sam1')"},"心")]),l("td",null,[n("n [n] "),l("a",{onclick:"_play('san1')"},"身 ")]),l("td",null,[n("ng [ŋ] "),l("a",{onclick:"_play('sang1')"},"生 ")])]),l("tr",null,[l("th",null,"元音"),l("td"),l("td",null,[n("i [i] "),l("a",{onclick:"_play('sai1')"},"西"),n("  "),l("a",{onclick:"_play('seoi1')"},"需")]),l("td",null,[n("u [u] "),l("a",{onclick:"_play('sau1')"},"收")])])],-1),h=l("h3",{id:"鼻音單獨成韻",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#鼻音單獨成韻"},[l("span",null,"鼻音單獨成韻")])],-1),g=l("table",null,[l("tr",null,[l("th",null,[n("m [m̩] "),l("a",{onclick:"_play('m4')"},"唔")]),l("th",null,[n("ng [ŋ̩] "),l("a",{onclick:"_play('ng4')"},"吳")])])],-1),m=l("h3",{id:"韻母字例",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#韻母字例"},[l("span",null,"韻母字例")])],-1),b=l("table",null,[l("tr",null,[l("th",{colspan:"2",rowspan:"2"},"韻腹"),l("th",null,"單元音"),l("th",{colspan:"2"},"複元音"),l("th",{colspan:"3"},"鼻音韻尾"),l("th",{colspan:"3"},"爆發音韻尾(入聲韻)")]),l("tr",null,[l("td",null,"-"),l("td",null,"-i"),l("td",null,"-u"),l("td",null,"-m"),l("td",null,"-n"),l("td",null,"-ng"),l("td",null,"-p"),l("td",null,"-t"),l("td",null,"-k")]),l("tr",null,[l("td",{rowspan:"2"}," i"),l("td",null," [iː] "),l("td",null,[l("a",{onclick:"_play('si1')"},"i 思 ")]),l("td",{bgcolor:"grey"}),l("td",null,[l("a",{onclick:"_play('siu1')"},"iu 消 ")]),l("td",null,[l("a",{onclick:"_play('sim2')"},"im 閃 ")]),l("td",null,[l("a",{onclick:"_play('sin1')"},"in 先 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('sip3')"},"ip 攝 ")]),l("td",null,[l("a",{onclick:"_play('sit3')"},"it 泄 ")]),l("td")]),l("tr",null,[l("td",null," [e] "),l("td"),l("td",{bgcolor:"grey"}),l("td"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('sing1')"},"ing 升 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('sik1')"},"ik 識 ")])]),l("tr",null,[l("td",null," yu "),l("td",null," [yː] "),l("td",null,[l("a",{onclick:"_play('syu1')"},"yu 書 ")]),l("td"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('syun1')"},"yun 孫 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('syut3')"},"yut 雪 ")]),l("td")]),l("tr",null,[l("td",{rowspan:"2"},"u"),l("td",null," [uː] "),l("td",null,[l("a",{onclick:"_play('fu1')"},"u 夫 ")]),l("td",null,[l("a",{onclick:"_play('fui1')"},"ui 灰 ")]),l("td",{bgcolor:"grey"}),l("td"),l("td",null,[l("a",{onclick:"_play('fun1')"},"un 歡 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('fut3')"},"ut 闊 ")]),l("td")]),l("tr",null,[l("td",null,"[o]"),l("td"),l("td"),l("td",{bgcolor:"grey"}),l("td",null," um "),l("td"),l("td",null,[l("a",{onclick:"_play('fung1')"}," ung 風 ")]),l("td",null," up"),l("td"),l("td",null,[l("a",{onclick:"_play('fuk1')"},"uk 福 ")])]),l("tr",null,[l("td",{rowspan:"2"},"e"),l("td",null," [e] "),l("td"),l("td",null,[l("a",{onclick:"_play('sei3')"}," ei 四 ")]),l("td"),l("td"),l("td",null," en "),l("td"),l("td"),l("td"),l("td")]),l("tr",null,[l("td",null," [ɛː] "),l("td",null,[l("a",{onclick:"_play('se1')"},"e 些 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('deu1')"},"eu 掉 ")]),l("td",null,[l("a",{onclick:"_play('lem1')"},"em 舐 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('zeng6')"},"eng 鄭 ")]),l("td",null,[l("a",{onclick:"_play('gep6')"},"ep 夾 ")]),l("td",null," et 坺 "),l("td",null,[l("a",{onclick:"_play('sek6')"},"ek 石 ")])]),l("tr",null,[l("td",null," eo "),l("td",null," [ɵ] "),l("td"),l("td",null,[l("a",{onclick:"_play('seoi1')"},"eoi 需 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('seon1')"},"eon 詢 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('seot1')"},"eot 摔 ")]),l("td")]),l("tr",null,[l("td",null,"oe"),l("td",null,"[œː]"),l("td",null,[l("a",{onclick:"_play('goe3')"},"oe 鋸 ")]),l("td"),l("td"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('goeng1')"},"oeng 疆 ")]),l("td"),l("td",{bgcolor:"lightblue"},"oet"),l("td",null,[l("a",{onclick:"_play('goek3')"},"oek 腳 ")])]),l("tr",null,[l("td",{rowspan:"2"},"o"),l("td",null," [o] "),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('hou2')"},"ou 好 ")]),l("td"),l("td"),l("td"),l("td"),l("td"),l("td")]),l("tr",null,[l("td",null,"[ɔː]"),l("td",null,[l("a",{onclick:"_play('ho2')"}," o 可 ")]),l("td",null,[l("a",{onclick:"_play('hoi1')"}," oi 開 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('hon3')"}," on 看 ")]),l("td",null,[l("a",{onclick:"_play('hong1')"}," ong 康 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('hot3')"}," ot 喝 ")]),l("td",null,[l("a",{onclick:"_play('hok6')"}," ok 學 ")])]),l("tr",null,[l("td",null,"a"),l("td",null,"[ɐ]"),l("td",{bgcolor:"lightblue"},[l("a",{onclick:"_play('laa3')"}," a 嘞 ")]),l("td",null,[l("a",{onclick:"_play('zai1')"}," ai 擠 ")]),l("td",null,[l("a",{onclick:"_play('zau1')"}," au 周 ")]),l("td",null,[l("a",{onclick:"_play('zam1')"}," am 斟 ")]),l("td",null,[l("a",{onclick:"_play('zan1')"}," an 珍 ")]),l("td",null,[l("a",{onclick:"_play('zang1')"}," ang 增 ")]),l("td",null,[l("a",{onclick:"_play('zap1')"}," ap 汁 ")]),l("td",null,[l("a",{onclick:"_play('zat6')"}," at 侄 ")]),l("td",null,[l("a",{onclick:"_play('zak1')"}," ak 則 ")])]),l("tr",null,[l("td",null,"aa"),l("td",null,"[aː]"),l("td",null,[l("a",{onclick:"_play('zaa1')"}," aa 渣 ")]),l("td",null,[l("a",{onclick:"_play('zaai1')"}," aai 齋 ")]),l("td",null,[l("a",{onclick:"_play('zaau1')"}," aau 嘲 ")]),l("td",null,[l("a",{onclick:"_play('zaam6')"}," aam 站 ")]),l("td",null,[l("a",{onclick:"_play('zaan3')"}," aan 讚 ")]),l("td",null,[l("a",{onclick:"_play('zaang6')"}," aang 掙 ")]),l("td",null,[l("a",{onclick:"_play('zaap6')"}," aap 集 ")]),l("td",null,[l("a",{onclick:"_play('zaat3')"}," aat 扎 ")]),l("td",null,[l("a",{onclick:"_play('zaak6')"}," aak 責 ")])])],-1),f=l("div",{class:"hint-container tip"},[l("p",{class:"hint-container-title"},"提示"),l("p",null,"a 和 oet 於 2018 年新增。")],-1),z={href:"https://lshk.org/jyutping-scheme/",target:"_blank",rel:"noopener noreferrer"};function v(w,x){const a=c("ExternalLinkIcon");return d(),u("div",null,[p,s,k,_,r,y,h,g,m,b,f,l("p",null,[n("Ref.: "),l("a",z,[n("香港語言學學會粵語拼音方案-LSHK"),o(a)])])])}const T=t(e,[["render",v],["__file","jsrs.html.vue"]]),V=JSON.parse('{"path":"/learning/jsrs.html","title":"香港語言學學會粵語拼音方案","lang":"zh-TW","frontmatter":{"title":"香港語言學學會粵語拼音方案","icon":"book","category":["學習"]},"headers":[{"level":2,"title":"聲母表","slug":"聲母表","link":"#聲母表","children":[]},{"level":2,"title":"韻母表","slug":"韻母表","link":"#韻母表","children":[{"level":3,"title":"韻腹","slug":"韻腹","link":"#韻腹","children":[]},{"level":3,"title":"韻尾","slug":"韻尾","link":"#韻尾","children":[]},{"level":3,"title":"鼻音單獨成韻","slug":"鼻音單獨成韻","link":"#鼻音單獨成韻","children":[]},{"level":3,"title":"韻母字例","slug":"韻母字例","link":"#韻母字例","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":5.08,"words":1525},"filePathRelative":"learning/jsrs.md","localizedDate":"2024年3月22日"}');export{T as comp,V as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as d,c as u,a as l,b as n,d as o,e as i}from"./app-BoGlXVck.js";const e={},p=l("h2",{id:"聲母表",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#聲母表"},[l("span",null,"聲母表")])],-1),s=l("table",null,[l("tr",null,[l("th"),l("th",null,"雙脣音"),l("th",null,"脣齒音"),l("th",null,"齒齦音"),l("th",null,"硬腭音"),l("th",null,"軟腭音"),l("th",null,"喉音")]),l("tr",null,[l("td",null,"爆發音"),l("td",null,[l("a",{onclick:"_play('baa1')"},"b [p] 巴 "),l("br"),l("a",{onclick:"_play('paa3')"},"p [pʰ] 怕 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('daa2')"},"d [t] 打 "),l("br"),l("a",{onclick:"_play('taa1')"},"t [tʰ] 他 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('gaa1')"},"g [k] 家 "),l("br"),l("a",{onclick:"_play('kaa1')"},"k [kʰ] 卡 "),l("br"),l("a",{onclick:"_play('gwaa1')"},"gw [kʷ] 瓜 "),l("br"),l("a",{onclick:"_play('kwaa1')"},"kw [kʷʰ] 夸 ")]),l("td")]),l("tr",null,[l("td",null,"塞擦音"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('zaa1')"},"z [t͡s~t͡ʃ] 渣 "),l("br"),l("a",{onclick:"_play('caa1')"},"c [t͡sʰ~t͡ʃʰ] 叉 ")]),l("td"),l("td"),l("td")]),l("tr",null,[l("td",null,"鼻音"),l("td",null,[l("a",{onclick:"_play('maa1')"},"m [m] 媽 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('naa1')"},"n [n] 那 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('ngaa4')"},"ng [ŋ] 牙 ")]),l("td")]),l("tr",null,[l("td",null,"擦音"),l("td"),l("td",null,[l("a",{onclick:"_play('faa1')"},"f [f] 花 ")]),l("td",null,[l("a",{onclick:"_play('saa1')"},"s [s] 沙 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('haa1')"},"h [h] 蝦 ")])]),l("tr",null,[l("td",null,"近音"),l("td",null,[l("a",{onclick:"_play('waa1')"},"w [w] 蛙 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('jaa5')"},"j [j] 也 ")]),l("td"),l("td")]),l("tr",null,[l("td",null,"邊近音"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('laa1')"},"l [l] 啦 ")]),l("td"),l("td"),l("td")])],-1),k=i('

提示

零聲母不用字母作標記,如「呀」只拼作 a a。

韻母表

韻腹

',3),_=l("table",null,[l("tr",null,[l("td",null,[n(" i [iː] "),l("a",{onclick:"_play('si1')"},"詩"),l("br"),n(" i"),l("sub",null,"後接 -ng, -k"),n(" [e] "),l("a",{onclick:"_play('sing1')"},"星"),n(" "),l("a",{onclick:"_play('sik1')"},"識"),l("br"),n(" yu [y]"),l("a",{onclick:"_play('syu1')"},"書")]),l("td"),l("td",null,[n("u [uː] "),l("a",{onclick:"_play('fu1')"},"夫"),l("br"),n(" u"),l("sub",null,"後接 -ng, -k"),n(" [o] "),l("a",{onclick:"_play('fung1')"},"風"),n(" "),l("a",{onclick:"_play('fuk1')"},"福")])]),l("tr",null,[l("td",null,[n("e"),l("sub",null,"後接 -i"),n(" [e] "),l("a",{onclick:"_play('sei3')"},"四"),l("br"),n(" eo [ɵ] "),l("a",{onclick:"_play('seon1')"},"詢")]),l("td"),l("td",null,[n("o"),l("sub",null,"後接 -u"),n(" [o] "),l("a",{onclick:"_play('sou1')"},"蘇")])]),l("tr",null,[l("td",null,[n("e [ɛː] "),l("a",{onclick:"_play('se1')"},"些"),l("br"),n(" oe [œː] "),l("a",{onclick:"_play('goe3')"},"鋸")]),l("td",null,[n("a [ɐ] "),l("a",{onclick:"_play('san1')"},"新")]),l("td",null,[n("o [ɔː] "),l("a",{onclick:"_play('so1')"},"疏")])]),l("tr",null,[l("td"),l("td",null,[n("aa [aː] "),l("a",{onclick:"_play('saa1')"},"沙")]),l("td")])],-1),r=l("h3",{id:"韻尾",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#韻尾"},[l("span",null,"韻尾")])],-1),y=l("table",null,[l("tr",null,[l("th",null,"爆發音"),l("td",null,[n("p [p̚] "),l("a",{onclick:"_play('sap1')"},"溼")]),l("td",null,[n("t [t̚] "),l("a",{onclick:"_play('sat1')"},"失 ")]),l("td",null,[n("k [k̚] "),l("a",{onclick:"_play('sak1')"},"塞 ")])]),l("tr",null,[l("th",null,"鼻音"),l("td",null,[n("m [m] "),l("a",{onclick:"_play('sam1')"},"心")]),l("td",null,[n("n [n] "),l("a",{onclick:"_play('san1')"},"身 ")]),l("td",null,[n("ng [ŋ] "),l("a",{onclick:"_play('sang1')"},"生 ")])]),l("tr",null,[l("th",null,"元音"),l("td"),l("td",null,[n("i [i] "),l("a",{onclick:"_play('sai1')"},"西"),n("  "),l("a",{onclick:"_play('seoi1')"},"需")]),l("td",null,[n("u [u] "),l("a",{onclick:"_play('sau1')"},"收")])])],-1),h=l("h3",{id:"鼻音單獨成韻",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#鼻音單獨成韻"},[l("span",null,"鼻音單獨成韻")])],-1),g=l("table",null,[l("tr",null,[l("th",null,[n("m [m̩] "),l("a",{onclick:"_play('m4')"},"唔")]),l("th",null,[n("ng [ŋ̩] "),l("a",{onclick:"_play('ng4')"},"吳")])])],-1),m=l("h3",{id:"韻母字例",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#韻母字例"},[l("span",null,"韻母字例")])],-1),b=l("table",null,[l("tr",null,[l("th",{colspan:"2",rowspan:"2"},"韻腹"),l("th",null,"單元音"),l("th",{colspan:"2"},"複元音"),l("th",{colspan:"3"},"鼻音韻尾"),l("th",{colspan:"3"},"爆發音韻尾(入聲韻)")]),l("tr",null,[l("td",null,"-"),l("td",null,"-i"),l("td",null,"-u"),l("td",null,"-m"),l("td",null,"-n"),l("td",null,"-ng"),l("td",null,"-p"),l("td",null,"-t"),l("td",null,"-k")]),l("tr",null,[l("td",{rowspan:"2"}," i"),l("td",null," [iː] "),l("td",null,[l("a",{onclick:"_play('si1')"},"i 思 ")]),l("td",{bgcolor:"grey"}),l("td",null,[l("a",{onclick:"_play('siu1')"},"iu 消 ")]),l("td",null,[l("a",{onclick:"_play('sim2')"},"im 閃 ")]),l("td",null,[l("a",{onclick:"_play('sin1')"},"in 先 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('sip3')"},"ip 攝 ")]),l("td",null,[l("a",{onclick:"_play('sit3')"},"it 泄 ")]),l("td")]),l("tr",null,[l("td",null," [e] "),l("td"),l("td",{bgcolor:"grey"}),l("td"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('sing1')"},"ing 升 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('sik1')"},"ik 識 ")])]),l("tr",null,[l("td",null," yu "),l("td",null," [yː] "),l("td",null,[l("a",{onclick:"_play('syu1')"},"yu 書 ")]),l("td"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('syun1')"},"yun 孫 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('syut3')"},"yut 雪 ")]),l("td")]),l("tr",null,[l("td",{rowspan:"2"},"u"),l("td",null," [uː] "),l("td",null,[l("a",{onclick:"_play('fu1')"},"u 夫 ")]),l("td",null,[l("a",{onclick:"_play('fui1')"},"ui 灰 ")]),l("td",{bgcolor:"grey"}),l("td"),l("td",null,[l("a",{onclick:"_play('fun1')"},"un 歡 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('fut3')"},"ut 闊 ")]),l("td")]),l("tr",null,[l("td",null,"[o]"),l("td"),l("td"),l("td",{bgcolor:"grey"}),l("td",null," um "),l("td"),l("td",null,[l("a",{onclick:"_play('fung1')"}," ung 風 ")]),l("td",null," up"),l("td"),l("td",null,[l("a",{onclick:"_play('fuk1')"},"uk 福 ")])]),l("tr",null,[l("td",{rowspan:"2"},"e"),l("td",null," [e] "),l("td"),l("td",null,[l("a",{onclick:"_play('sei3')"}," ei 四 ")]),l("td"),l("td"),l("td",null," en "),l("td"),l("td"),l("td"),l("td")]),l("tr",null,[l("td",null," [ɛː] "),l("td",null,[l("a",{onclick:"_play('se1')"},"e 些 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('deu1')"},"eu 掉 ")]),l("td",null,[l("a",{onclick:"_play('lem1')"},"em 舐 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('zeng6')"},"eng 鄭 ")]),l("td",null,[l("a",{onclick:"_play('gep6')"},"ep 夾 ")]),l("td",null," et 坺 "),l("td",null,[l("a",{onclick:"_play('sek6')"},"ek 石 ")])]),l("tr",null,[l("td",null," eo "),l("td",null," [ɵ] "),l("td"),l("td",null,[l("a",{onclick:"_play('seoi1')"},"eoi 需 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('seon1')"},"eon 詢 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('seot1')"},"eot 摔 ")]),l("td")]),l("tr",null,[l("td",null,"oe"),l("td",null,"[œː]"),l("td",null,[l("a",{onclick:"_play('goe3')"},"oe 鋸 ")]),l("td"),l("td"),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('goeng1')"},"oeng 疆 ")]),l("td"),l("td",{bgcolor:"lightblue"},"oet"),l("td",null,[l("a",{onclick:"_play('goek3')"},"oek 腳 ")])]),l("tr",null,[l("td",{rowspan:"2"},"o"),l("td",null," [o] "),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('hou2')"},"ou 好 ")]),l("td"),l("td"),l("td"),l("td"),l("td"),l("td")]),l("tr",null,[l("td",null,"[ɔː]"),l("td",null,[l("a",{onclick:"_play('ho2')"}," o 可 ")]),l("td",null,[l("a",{onclick:"_play('hoi1')"}," oi 開 ")]),l("td"),l("td"),l("td",null,[l("a",{onclick:"_play('hon3')"}," on 看 ")]),l("td",null,[l("a",{onclick:"_play('hong1')"}," ong 康 ")]),l("td"),l("td",null,[l("a",{onclick:"_play('hot3')"}," ot 喝 ")]),l("td",null,[l("a",{onclick:"_play('hok6')"}," ok 學 ")])]),l("tr",null,[l("td",null,"a"),l("td",null,"[ɐ]"),l("td",{bgcolor:"lightblue"},[l("a",{onclick:"_play('laa3')"}," a 嘞 ")]),l("td",null,[l("a",{onclick:"_play('zai1')"}," ai 擠 ")]),l("td",null,[l("a",{onclick:"_play('zau1')"}," au 周 ")]),l("td",null,[l("a",{onclick:"_play('zam1')"}," am 斟 ")]),l("td",null,[l("a",{onclick:"_play('zan1')"}," an 珍 ")]),l("td",null,[l("a",{onclick:"_play('zang1')"}," ang 增 ")]),l("td",null,[l("a",{onclick:"_play('zap1')"}," ap 汁 ")]),l("td",null,[l("a",{onclick:"_play('zat6')"}," at 侄 ")]),l("td",null,[l("a",{onclick:"_play('zak1')"}," ak 則 ")])]),l("tr",null,[l("td",null,"aa"),l("td",null,"[aː]"),l("td",null,[l("a",{onclick:"_play('zaa1')"}," aa 渣 ")]),l("td",null,[l("a",{onclick:"_play('zaai1')"}," aai 齋 ")]),l("td",null,[l("a",{onclick:"_play('zaau1')"}," aau 嘲 ")]),l("td",null,[l("a",{onclick:"_play('zaam6')"}," aam 站 ")]),l("td",null,[l("a",{onclick:"_play('zaan3')"}," aan 讚 ")]),l("td",null,[l("a",{onclick:"_play('zaang6')"}," aang 掙 ")]),l("td",null,[l("a",{onclick:"_play('zaap6')"}," aap 集 ")]),l("td",null,[l("a",{onclick:"_play('zaat3')"}," aat 扎 ")]),l("td",null,[l("a",{onclick:"_play('zaak6')"}," aak 責 ")])])],-1),f=l("div",{class:"hint-container tip"},[l("p",{class:"hint-container-title"},"提示"),l("p",null,"a 和 oet 於 2018 年新增。")],-1),z={href:"https://lshk.org/jyutping-scheme/",target:"_blank",rel:"noopener noreferrer"};function v(w,x){const a=c("ExternalLinkIcon");return d(),u("div",null,[p,s,k,_,r,y,h,g,m,b,f,l("p",null,[n("Ref.: "),l("a",z,[n("香港語言學學會粵語拼音方案-LSHK"),o(a)])])])}const T=t(e,[["render",v],["__file","jsrs.html.vue"]]),V=JSON.parse('{"path":"/learning/jsrs.html","title":"香港語言學學會粵語拼音方案","lang":"zh-TW","frontmatter":{"title":"香港語言學學會粵語拼音方案","icon":"book","category":["學習"]},"headers":[{"level":2,"title":"聲母表","slug":"聲母表","link":"#聲母表","children":[]},{"level":2,"title":"韻母表","slug":"韻母表","link":"#韻母表","children":[{"level":3,"title":"韻腹","slug":"韻腹","link":"#韻腹","children":[]},{"level":3,"title":"韻尾","slug":"韻尾","link":"#韻尾","children":[]},{"level":3,"title":"鼻音單獨成韻","slug":"鼻音單獨成韻","link":"#鼻音單獨成韻","children":[]},{"level":3,"title":"韻母字例","slug":"韻母字例","link":"#韻母字例","children":[]}]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":5.08,"words":1525},"filePathRelative":"learning/jsrs.md","localizedDate":"2024年3月22日"}');export{T as comp,V as data}; diff --git a/assets/particles.html-5d7IZEjh.js b/assets/particles.html-BLtOrMas.js similarity index 99% rename from assets/particles.html-5d7IZEjh.js rename to assets/particles.html-BLtOrMas.js index 93bf38c..0b91655 100644 --- a/assets/particles.html-5d7IZEjh.js +++ b/assets/particles.html-BLtOrMas.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as d,c as a,e as r}from"./app-HW7jk_p0.js";const e={},l=r('

粵語有非常豐富的句末語氣詞,如果與正常表達混淆,會造成很大交流障礙。

本文列舉出所有常見的粵語句末語氣詞和它們的推薦寫法,讓大家可以寫規範粵文。

方案選字原則

本用字方案對於句末語氣詞從分不從合,即儘量使用一個漢字對應一個語素。對於音節相同的字,一般將第1、3、4聲定爲獨立的語素,對於第2、5、6聲視爲變調,因而推薦使用標點符號來表示,而不再另外指定漢字。

例如推薦使用「㗎?」來代表gaa2,而不是使用「𠿪」。

對於大部分aa開音節語氣詞,本方案推薦不區分aa同a,例如laa3同la3視作同一語素。

句末語氣詞推薦用字表

説明

  • 「了」字僅讀作 liu5,不推薦作爲句末語氣詞使用。
  • 粵語中沒有「吧」呢個語氣詞,「吧」僅存在於官話書面語和普通話/國語中。
  • 「嗱」naa4 作爲句首感嘆詞,也加入表內,以表示與句末語氣詞「喇」laa4 區分。
推薦用字拼音例句備註
aa1唔該畀兩個橙我~。
aa3你去唔去睇戲~?做完功課先好出街~。
aa4噉唔通乜都唔使做~。aa5用「呀?」表示,亦可用「咓」。
𡅅aak3唔係~。
bo3你唔好唔記得~。
𠺢/咖gaa1/ga1噉先啱~嘛。「咖」作爲後備用字,首選唔推薦使用
𠿪gaa2前提係做得出先得~。
gaa3/ga3唔係噉樣~。問句中嘅gaa2用後加問號表示,例如「冇理由㗎?」。
gaa4/ga4乜原來要收畀錢~。
𠺝/嗝gaak3你平時好飲得~,點解而家咁快就醉。「嗝」作爲後備用字,首選唔推薦使用
ge3我點都唔會走~。
gwaa3應該係~。
haa2~,噉都得?記得食飯啊~。
he2呢套戲幾好睇嚱?
ho2噉就夠嘞~?
laa1/la1就噉先~。
laa3/laa41.你點講佢都唔會明㗎~。2.噉就得~?本方案用標點區分laa第3聲同第4聲,如例句1爲laa3,例句2爲laa4。
laak3/lak3/la3係嘞,你有冇帶遮?
le4我送你五萬個口罩~,好唔好啊?
le5我真係冇呃你~。
lo1噉你去~。
lo4係~,點解你自己唔去呢?
lok3/lo3都話咗係噉~。噉就弊家伙~。
嚕/𡀔lou3/lu3我做完功課~。
maa3/ma3/maa1你好~?
maa5/maa3唔係啊~?所以先話吖~。
me1佢唔係好叻嘅~?
naa4~,就喺呢度。
ne1/le1佢係做咩嘅~?
tim1我以爲你會去埋佢屋企~。又寫作「㖭」同「𠻹」,呢兩隻字僅作後備用字,首選唔推薦使用
wo3佢唔喺度~。
啝/咊wo4篇文原來係佢寫嘅~。
𡁜/唩wo5佢話佢唔去~。
za3/zaa3/zaa51.我就得翻兩文~。2.哦,就係噉~?本方案用標點區分zaa/za第3聲同第5聲,如例句1係zaa3/za3,例句2係zaa5。
za4/zaa4就得咁多~?
ze1無非都係噉嘅~。
zek1究竟發生咗咩~?

組合語氣詞示例

説明

注意組合語氣詞中的非句末字發音長度可能比正常情況下更短,例如「吖嘛」中嘅「吖」可以是 aa1 或者 a1

漢字拼音例句備註
吖嘛aa1 maa3 / a1 maa3聽日係星期日~。
啊嘛aa6 maa5 / a6 maa5唔係噉~?
哎吖吖ai1 aa1 aa1~,做乜搞成噉啊?「哎」字可爲 ai1 或 aai1,下同。
哎吔/哎吔吔ai1 jaa1/ai1 jaa1 jaa1~!豈有此理!
哎呀ai1 aa4/ai1 jaa5~,你唔係噉啊嘛?
𠺢嘛gaa1 maa3/ga1 maa3噉我唔知~!「𠺢」次選「咖」
㗎咩gaa3 me3/ ga3 me3今日唔係放假~?
㗎嘛gaa6 maa5 / ga6 maa5唔係噉~?
嘅啫ge3 ze1無非就係佢一個人~。
嘞噃la3 bo3 / lak3 bo3你好~,唔好再得寸進尺~!
吓話haa6 waa5 / ha6 waa51. 係得咁多~?

2. 「呢隻股票實升㗎!」「~?」
喇啩laa3 gwaa3 / la3 gwaa3噉應該搞掂~?
㗎喇噃ga3 la3 bo3你再唔嚟就食晒~。

Ref.: 陸鏡光, 2007, 粵語語氣詞的書寫方式, Studies in Cantonese Phonetics 2, eds. Joanna Ut-Seong and Sze-Wing Tang, 95 - 107

',10),i=[l];function n(o,s){return d(),a("div",null,i)}const g=t(e,[["render",n],["__file","particles.html.vue"]]),m=JSON.parse('{"path":"/research/particles.html","title":"粵語語氣詞","lang":"zh-TW","frontmatter":{"title":"粵語語氣詞","icon":"comment-dots","category":["説文解字"]},"headers":[{"level":2,"title":"句末語氣詞推薦用字表","slug":"句末語氣詞推薦用字表","link":"#句末語氣詞推薦用字表","children":[]},{"level":2,"title":"組合語氣詞示例","slug":"組合語氣詞示例","link":"#組合語氣詞示例","children":[]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":3.46,"words":1039},"filePathRelative":"research/particles.md","localizedDate":"2024年3月22日"}');export{g as comp,m as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as d,c as a,e as r}from"./app-BoGlXVck.js";const e={},l=r('

粵語有非常豐富的句末語氣詞,如果與正常表達混淆,會造成很大交流障礙。

本文列舉出所有常見的粵語句末語氣詞和它們的推薦寫法,讓大家可以寫規範粵文。

方案選字原則

本用字方案對於句末語氣詞從分不從合,即儘量使用一個漢字對應一個語素。對於音節相同的字,一般將第1、3、4聲定爲獨立的語素,對於第2、5、6聲視爲變調,因而推薦使用標點符號來表示,而不再另外指定漢字。

例如推薦使用「㗎?」來代表gaa2,而不是使用「𠿪」。

對於大部分aa開音節語氣詞,本方案推薦不區分aa同a,例如laa3同la3視作同一語素。

句末語氣詞推薦用字表

説明

  • 「了」字僅讀作 liu5,不推薦作爲句末語氣詞使用。
  • 粵語中沒有「吧」呢個語氣詞,「吧」僅存在於官話書面語和普通話/國語中。
  • 「嗱」naa4 作爲句首感嘆詞,也加入表內,以表示與句末語氣詞「喇」laa4 區分。
推薦用字拼音例句備註
aa1唔該畀兩個橙我~。
aa3你去唔去睇戲~?做完功課先好出街~。
aa4噉唔通乜都唔使做~。aa5用「呀?」表示,亦可用「咓」。
𡅅aak3唔係~。
bo3你唔好唔記得~。
𠺢/咖gaa1/ga1噉先啱~嘛。「咖」作爲後備用字,首選唔推薦使用
𠿪gaa2前提係做得出先得~。
gaa3/ga3唔係噉樣~。問句中嘅gaa2用後加問號表示,例如「冇理由㗎?」。
gaa4/ga4乜原來要收畀錢~。
𠺝/嗝gaak3你平時好飲得~,點解而家咁快就醉。「嗝」作爲後備用字,首選唔推薦使用
ge3我點都唔會走~。
gwaa3應該係~。
haa2~,噉都得?記得食飯啊~。
he2呢套戲幾好睇嚱?
ho2噉就夠嘞~?
laa1/la1就噉先~。
laa3/laa41.你點講佢都唔會明㗎~。2.噉就得~?本方案用標點區分laa第3聲同第4聲,如例句1爲laa3,例句2爲laa4。
laak3/lak3/la3係嘞,你有冇帶遮?
le4我送你五萬個口罩~,好唔好啊?
le5我真係冇呃你~。
lo1噉你去~。
lo4係~,點解你自己唔去呢?
lok3/lo3都話咗係噉~。噉就弊家伙~。
嚕/𡀔lou3/lu3我做完功課~。
maa3/ma3/maa1你好~?
maa5/maa3唔係啊~?所以先話吖~。
me1佢唔係好叻嘅~?
naa4~,就喺呢度。
ne1/le1佢係做咩嘅~?
tim1我以爲你會去埋佢屋企~。又寫作「㖭」同「𠻹」,呢兩隻字僅作後備用字,首選唔推薦使用
wo3佢唔喺度~。
啝/咊wo4篇文原來係佢寫嘅~。
𡁜/唩wo5佢話佢唔去~。
za3/zaa3/zaa51.我就得翻兩文~。2.哦,就係噉~?本方案用標點區分zaa/za第3聲同第5聲,如例句1係zaa3/za3,例句2係zaa5。
za4/zaa4就得咁多~?
ze1無非都係噉嘅~。
zek1究竟發生咗咩~?

組合語氣詞示例

説明

注意組合語氣詞中的非句末字發音長度可能比正常情況下更短,例如「吖嘛」中嘅「吖」可以是 aa1 或者 a1

漢字拼音例句備註
吖嘛aa1 maa3 / a1 maa3聽日係星期日~。
啊嘛aa6 maa5 / a6 maa5唔係噉~?
哎吖吖ai1 aa1 aa1~,做乜搞成噉啊?「哎」字可爲 ai1 或 aai1,下同。
哎吔/哎吔吔ai1 jaa1/ai1 jaa1 jaa1~!豈有此理!
哎呀ai1 aa4/ai1 jaa5~,你唔係噉啊嘛?
𠺢嘛gaa1 maa3/ga1 maa3噉我唔知~!「𠺢」次選「咖」
㗎咩gaa3 me3/ ga3 me3今日唔係放假~?
㗎嘛gaa6 maa5 / ga6 maa5唔係噉~?
嘅啫ge3 ze1無非就係佢一個人~。
嘞噃la3 bo3 / lak3 bo3你好~,唔好再得寸進尺~!
吓話haa6 waa5 / ha6 waa51. 係得咁多~?

2. 「呢隻股票實升㗎!」「~?」
喇啩laa3 gwaa3 / la3 gwaa3噉應該搞掂~?
㗎喇噃ga3 la3 bo3你再唔嚟就食晒~。

Ref.: 陸鏡光, 2007, 粵語語氣詞的書寫方式, Studies in Cantonese Phonetics 2, eds. Joanna Ut-Seong and Sze-Wing Tang, 95 - 107

',10),i=[l];function n(o,s){return d(),a("div",null,i)}const g=t(e,[["render",n],["__file","particles.html.vue"]]),m=JSON.parse('{"path":"/research/particles.html","title":"粵語語氣詞","lang":"zh-TW","frontmatter":{"title":"粵語語氣詞","icon":"comment-dots","category":["説文解字"]},"headers":[{"level":2,"title":"句末語氣詞推薦用字表","slug":"句末語氣詞推薦用字表","link":"#句末語氣詞推薦用字表","children":[]},{"level":2,"title":"組合語氣詞示例","slug":"組合語氣詞示例","link":"#組合語氣詞示例","children":[]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":3.46,"words":1039},"filePathRelative":"research/particles.md","localizedDate":"2024年3月22日"}');export{g as comp,m as data}; diff --git a/assets/prod-D24nP0G3.js b/assets/prod-BPmjCPvw.js similarity index 97% rename from assets/prod-D24nP0G3.js rename to assets/prod-BPmjCPvw.js index 345c792..6f5ddff 100644 --- a/assets/prod-D24nP0G3.js +++ b/assets/prod-BPmjCPvw.js @@ -1,10 +1,10 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/srt-parser-u1dsi_OP.js","assets/app-HW7jk_p0.js","assets/ssa-parser-BES-hUAH.js","assets/errors-BKkm5mBg.js"] + __vite__mapDeps.viteFileDeps = ["assets/srt-parser-DuN5kNXQ.js","assets/app-BoGlXVck.js","assets/ssa-parser-BGMhcIL8.js","assets/errors-CZET3P8Q.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -var tt=Object.defineProperty;var et=(i,t,e)=>t in i?tt(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var h=(i,t,e)=>(et(i,typeof t!="symbol"?t+"":t,e),e);import{_ as k}from"./app-HW7jk_p0.js";const it={LoadFail:0,BadSignature:1,BadTimestamp:2,BadSettingValue:3,BadFormat:4,UnknownSetting:5};class st extends Error{constructor(e){super(e.reason);h(this,"code");h(this,"line");this.code=e.code,this.line=e.line}}const V=/\r?\n|\r/gm;class rt{constructor(t){h(this,"writable");h(this,"readable");const e=new nt(t);this.writable=new WritableStream({write(s){e.transform(s)},close(){e.close()}}),this.readable=new ReadableStream({start(s){e.onLine=n=>s.enqueue(n),e.onClose=()=>s.close()}})}}class nt{constructor(t){h(this,"x","");h(this,"y");h(this,"onLine");h(this,"onClose");this.y=new TextDecoder(t)}transform(t){this.x+=this.y.decode(t,{stream:!0});const e=this.x.split(V);this.x=e.pop()||"";for(let s=0;simport("./srt-parser-u1dsi_OP.js"),__vite__mapDeps([0,1]))).default;break;case"ssa":case"ass":s=(await k(()=>import("./ssa-parser-BES-hUAH.js"),__vite__mapDeps([2,1]))).default;break;default:s=(await Promise.resolve().then(function(){return St})).default}else s=e;let n;const r=i.getReader(),o=s(),a=!!(t!=null&&t.strict)||!!(t!=null&&t.errors);await o.init({strict:!1,...t,errors:a,type:e,cancel(){r.cancel(),n=o.done(!0)}});let l=1;for(;;){const{value:c,done:f}=await r.read();if(f){o.parse("",l),n=o.done(!1);break}o.parse(c,l),l++}return n}async function ot(i,t){var o,a;const e=await i;if(!e.ok||!e.body)return{metadata:{},cues:[],regions:[],errors:[void 0]};const s=e.headers.get("content-type")||"",n=(o=s.match(/text\/(.*?)(?:;|$)/))==null?void 0:o[1],r=(a=s.match(/charset=(.*?)(?:;|$)/))==null?void 0:a[1];return G(e.body,{type:n,encoding:r,...t})}async function G(i,{encoding:t="utf-8",...e}={}){const s=i.pipeThrough(new rt(t));return C(s,e)}class H extends EventTarget{constructor(e,s,n){super();h(this,"id","");h(this,"startTime");h(this,"endTime");h(this,"text");h(this,"pauseOnExit",!1);this.startTime=e,this.endTime=s,this.text=n}addEventListener(e,s,n){super.addEventListener(e,s,n)}removeEventListener(e,s,n){super.removeEventListener(e,s,n)}}const I=typeof document>"u",lt=I?H:window.VTTCue;class D extends lt{constructor(){super(...arguments);h(this,"region",null);h(this,"vertical","");h(this,"snapToLines",!0);h(this,"line","auto");h(this,"lineAlign","start");h(this,"position","auto");h(this,"positionAlign","auto");h(this,"size",100);h(this,"align","center");h(this,"style")}}class F{constructor(){h(this,"id","");h(this,"width",100);h(this,"lines",3);h(this,"regionAnchorX",0);h(this,"regionAnchorY",100);h(this,"viewportAnchorX",0);h(this,"viewportAnchorY",100);h(this,"scroll","")}}const B=",",ht="%";function ct(i){const t=parseInt(i,10);return Number.isNaN(t)?null:t}function y(i){const t=parseInt(i.replace(ht,""),10);return!Number.isNaN(t)&&t>=0&&t<=100?t:null}function z(i){if(!i.includes(B))return null;const[t,e]=i.split(B).map(y);return t!==null&&e!==null?[t,e]:null}function ut(i){const t=parseFloat(i);return Number.isNaN(t)?null:t}const ft="WEBVTT",j=",",dt="%",b=/[:=]/,pt=/^[\s\t]*(region|vertical|line|position|size|align)[:=]/,mt="NOTE",gt="REGION",Tt=/^REGION:?[\s\t]+/,v=/[\s\t]+/,bt="-->",wt=/[\s\t]*-->[\s\t]+/,vt=/start|center|end|left|right/,yt=/start|center|end/,At=/line-(?:left|right)|center|auto/,Et=/^(?:(\d{1,2}):)?(\d{2}):(\d{2})(?:\.(\d{1,3}))?$/;var W=(i=>(i[i.None=0]="None",i[i.Header=1]="Header",i[i.Cue=2]="Cue",i[i.Region=3]="Region",i[i.Note=4]="Note",i))(W||{});class X{constructor(){h(this,"f");h(this,"c",0);h(this,"g",{});h(this,"h",{});h(this,"j",[]);h(this,"a",null);h(this,"b",null);h(this,"k",[]);h(this,"d");h(this,"l","")}async init(t){this.f=t,t.strict&&(this.c=1),t.errors&&(this.d=(await k(()=>import("./errors-BKkm5mBg.js"),__vite__mapDeps([3,1]))).ParseErrorBuilder)}parse(t,e){var s,n,r,o,a,l;if(t==="")this.a?(this.j.push(this.a),(n=(s=this.f).onCue)==null||n.call(s,this.a),this.a=null):this.b?(this.h[this.b.id]=this.b,(o=(r=this.f).onRegion)==null||o.call(r,this.b),this.b=null):this.c===1&&(this.i(t,e),(l=(a=this.f).onHeaderMetadata)==null||l.call(a,this.g)),this.c=0;else if(this.c)switch(this.c){case 1:this.i(t,e);break;case 2:if(this.a){const c=this.a.text.length>0;!c&&pt.test(t)?this.m(t.split(v),e):this.a.text+=(c?` +var tt=Object.defineProperty;var et=(i,t,e)=>t in i?tt(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var h=(i,t,e)=>(et(i,typeof t!="symbol"?t+"":t,e),e);import{_ as k}from"./app-BoGlXVck.js";const it={LoadFail:0,BadSignature:1,BadTimestamp:2,BadSettingValue:3,BadFormat:4,UnknownSetting:5};class st extends Error{constructor(e){super(e.reason);h(this,"code");h(this,"line");this.code=e.code,this.line=e.line}}const V=/\r?\n|\r/gm;class rt{constructor(t){h(this,"writable");h(this,"readable");const e=new nt(t);this.writable=new WritableStream({write(s){e.transform(s)},close(){e.close()}}),this.readable=new ReadableStream({start(s){e.onLine=n=>s.enqueue(n),e.onClose=()=>s.close()}})}}class nt{constructor(t){h(this,"x","");h(this,"y");h(this,"onLine");h(this,"onClose");this.y=new TextDecoder(t)}transform(t){this.x+=this.y.decode(t,{stream:!0});const e=this.x.split(V);this.x=e.pop()||"";for(let s=0;simport("./srt-parser-DuN5kNXQ.js"),__vite__mapDeps([0,1]))).default;break;case"ssa":case"ass":s=(await k(()=>import("./ssa-parser-BGMhcIL8.js"),__vite__mapDeps([2,1]))).default;break;default:s=(await Promise.resolve().then(function(){return St})).default}else s=e;let n;const r=i.getReader(),o=s(),a=!!(t!=null&&t.strict)||!!(t!=null&&t.errors);await o.init({strict:!1,...t,errors:a,type:e,cancel(){r.cancel(),n=o.done(!0)}});let l=1;for(;;){const{value:c,done:f}=await r.read();if(f){o.parse("",l),n=o.done(!1);break}o.parse(c,l),l++}return n}async function ot(i,t){var o,a;const e=await i;if(!e.ok||!e.body)return{metadata:{},cues:[],regions:[],errors:[void 0]};const s=e.headers.get("content-type")||"",n=(o=s.match(/text\/(.*?)(?:;|$)/))==null?void 0:o[1],r=(a=s.match(/charset=(.*?)(?:;|$)/))==null?void 0:a[1];return G(e.body,{type:n,encoding:r,...t})}async function G(i,{encoding:t="utf-8",...e}={}){const s=i.pipeThrough(new rt(t));return C(s,e)}class H extends EventTarget{constructor(e,s,n){super();h(this,"id","");h(this,"startTime");h(this,"endTime");h(this,"text");h(this,"pauseOnExit",!1);this.startTime=e,this.endTime=s,this.text=n}addEventListener(e,s,n){super.addEventListener(e,s,n)}removeEventListener(e,s,n){super.removeEventListener(e,s,n)}}const I=typeof document>"u",lt=I?H:window.VTTCue;class D extends lt{constructor(){super(...arguments);h(this,"region",null);h(this,"vertical","");h(this,"snapToLines",!0);h(this,"line","auto");h(this,"lineAlign","start");h(this,"position","auto");h(this,"positionAlign","auto");h(this,"size",100);h(this,"align","center");h(this,"style")}}class F{constructor(){h(this,"id","");h(this,"width",100);h(this,"lines",3);h(this,"regionAnchorX",0);h(this,"regionAnchorY",100);h(this,"viewportAnchorX",0);h(this,"viewportAnchorY",100);h(this,"scroll","")}}const B=",",ht="%";function ct(i){const t=parseInt(i,10);return Number.isNaN(t)?null:t}function y(i){const t=parseInt(i.replace(ht,""),10);return!Number.isNaN(t)&&t>=0&&t<=100?t:null}function z(i){if(!i.includes(B))return null;const[t,e]=i.split(B).map(y);return t!==null&&e!==null?[t,e]:null}function ut(i){const t=parseFloat(i);return Number.isNaN(t)?null:t}const ft="WEBVTT",j=",",dt="%",b=/[:=]/,pt=/^[\s\t]*(region|vertical|line|position|size|align)[:=]/,mt="NOTE",gt="REGION",Tt=/^REGION:?[\s\t]+/,v=/[\s\t]+/,bt="-->",wt=/[\s\t]*-->[\s\t]+/,vt=/start|center|end|left|right/,yt=/start|center|end/,At=/line-(?:left|right)|center|auto/,Et=/^(?:(\d{1,2}):)?(\d{2}):(\d{2})(?:\.(\d{1,3}))?$/;var W=(i=>(i[i.None=0]="None",i[i.Header=1]="Header",i[i.Cue=2]="Cue",i[i.Region=3]="Region",i[i.Note=4]="Note",i))(W||{});class X{constructor(){h(this,"f");h(this,"c",0);h(this,"g",{});h(this,"h",{});h(this,"j",[]);h(this,"a",null);h(this,"b",null);h(this,"k",[]);h(this,"d");h(this,"l","")}async init(t){this.f=t,t.strict&&(this.c=1),t.errors&&(this.d=(await k(()=>import("./errors-CZET3P8Q.js"),__vite__mapDeps([3,1]))).ParseErrorBuilder)}parse(t,e){var s,n,r,o,a,l;if(t==="")this.a?(this.j.push(this.a),(n=(s=this.f).onCue)==null||n.call(s,this.a),this.a=null):this.b?(this.h[this.b.id]=this.b,(o=(r=this.f).onRegion)==null||o.call(r,this.b),this.b=null):this.c===1&&(this.i(t,e),(l=(a=this.f).onHeaderMetadata)==null||l.call(a,this.g)),this.c=0;else if(this.c)switch(this.c){case 1:this.i(t,e);break;case 2:if(this.a){const c=this.a.text.length>0;!c&&pt.test(t)?this.m(t.split(v),e):this.a.text+=(c?` `:"")+t}break;case 3:this.n(t.split(v),e);break}else if(t.startsWith(mt))this.c=4;else if(t.startsWith(gt))this.c=3,this.b=new F,this.n(t.replace(Tt,"").split(v),e);else if(t.includes(bt)){const c=this.o(t,e);c&&(this.a=new D(c[0],c[1],""),this.a.id=this.l,this.m(c[2],e)),this.c=2}else e===1&&this.i(t,e);this.l=t}done(){return{metadata:this.g,cues:this.j,regions:Object.values(this.h),errors:this.k}}i(t,e){var s;if(e>1){if(b.test(t)){const[n,r]=t.split(b);n&&(this.g[n]=(r||"").replace(v,""))}}else t.startsWith(ft)?this.c=1:this.e((s=this.d)==null?void 0:s.p())}o(t,e){var c,f,u;const[s,n=""]=t.split(wt),[r,...o]=n.split(v),a=E(s),l=E(r);if(a!==null&&l!==null&&l>a)return[a,l,o];a===null&&this.e((c=this.d)==null?void 0:c.q(s,e)),l===null&&this.e((f=this.d)==null?void 0:f.r(r,e)),a!=null&&l!==null&&l>a&&this.e((u=this.d)==null?void 0:u.s(a,l,e))}n(t,e){var n,r;let s;for(let o=0;o59||n>59?null:o}function _t(){return new X}var St=Object.freeze({__proto__:null,VTTBlock:W,VTTParser:X,default:_t,parseVTTTimestamp:E});const Nt=/[0-9]/,Rt=/[\s\t]+/,q={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span",timestamp:"span"},kt={"&":"&","<":"<",">":">",""":'"',"'":"'"," ":" ","‎":"‎","‏":"‏"},Ct=/&(?:amp|lt|gt|quot|#(0+)?39|nbsp|lrm|rlm);/g,It=new Set(["white","lime","cyan","red","yellow","magenta","blue","black"]),Lt=new Set(Object.keys(q));function Y(i){var c,f;let t="",e=1,s=[],n=[],r;for(let u=0;u":o(),e=1;break;default:!t&&Nt.test(d)&&(e=6),t+=d;break}break;case 3:switch(d){case" ":case" ":case` `:a(),r&&((c=r.class)==null||c.trim()),e=4;break;case".":a();break;case">":a(),r&&((f=r.class)==null||f.trim()),e=1;break;default:t+=d}break;case 4:d===">"?(t=t.replace(Rt," "),(r==null?void 0:r.type)==="v"?r.voice=R(t):(r==null?void 0:r.type)==="lang"&&(r.lang=R(t)),t="",e=1):t+=d;break;case 5:d===">"&&(t="",r=n.pop(),e=1);break;case 6:if(d===">"){const m=E(t);m!==null&&m>=i.startTime&&m<=i.endTime&&(t="timestamp",o(),r.time=m),t="",e=1}else t+=d;break}}function o(){if(Lt.has(t)){const u=r;r=xt(t),u?(n[n.length-1]!==u&&n.push(u),u.children.push(r)):s.push(r)}t="",e=1}function a(){if(r&&t){const u=t.replace("bg_","");It.has(u)?r[t.startsWith("bg_")?"bgColor":"color"]=u:r.class=r.class?r.class+" "+t:t}t=""}function l(){if(!t)return;const u={type:"text",data:R(t)};r?r.children.push(u):s.push(u),t=""}return e===1&&l(),s}function xt(i){return{tagName:q[i],type:i,children:[]}}function R(i){return i.replace(Ct,t=>kt[t]||"'")}function p(i,t,e){i.style.setProperty(`--${t}`,e+"")}function g(i,t,e=!0){i.setAttribute(`data-${t}`,e===!0?"":e+"")}function _(i,t){i.setAttribute("data-part",t)}function Pt(i){return parseFloat(getComputedStyle(i).lineHeight)||0}function Mt(i){if(I)throw Error("[media-captions] called `createVTTCueTemplate` on the server - use `renderVTTCueString`");const t=document.createElement("template");return t.innerHTML=L(i),{cue:i,content:t.content}}function L(i,t=0){return x(Y(i),t)}function x(i,t=0){let e,s="";for(const n of i)if(n.type==="text")s+=n.data;else{const r=n.type==="timestamp";e={},e.class=n.class,e.title=n.type==="v"&&n.voice,e.lang=n.type==="lang"&&n.lang,e["data-part"]=n.type==="v"&&"voice",r&&(e["data-part"]="timed",e["data-time"]=n.time,e["data-future"]=n.time>t,e["data-past"]=n.timea[1]).map(a=>`${a[0]}="${a[1]===!0?"":a[1]}"`).join(" ");s+=`<${n.tagName}${o?" "+o:""}>${x(n.children)}`}return s}function K(i,t){if(!I)for(const e of i.querySelectorAll('[data-part="timed"]')){const s=Number(e.getAttribute("data-time"));Number.isNaN(s)||(s>t?g(e,"future"):e.removeAttribute("data-future"),s=t.left&&i.top<=t.bottom&&i.bottom>=t.top}function zt(i,t){for(let e=0;e=0&&t.bottom<=i.height&&t.left>=0&&t.right<=i.width}function jt(i,t,e){switch(e){case"+x":return t.left<0;case"-x":return t.right>i.width;case"+y":return t.top<0;case"-y":return t.bottom>i.height}}function $t(i,t){const e=Math.max(0,Math.min(i.width,t.right)-Math.max(0,t.left)),s=Math.max(0,Math.min(i.height,t.bottom)-Math.max(0,t.top));return e*s/(i.height*i.width)}function M(i,t){return{top:t.top/i.height,left:t.left/i.width,right:(i.width-t.right)/i.width,bottom:(i.height-t.bottom)/i.height}}function J(i,t){return t.top=t.top*i.height,t.left=t.left*i.width,t.right=i.width-t.right*i.width,t.bottom=i.height-t.bottom*i.height,t}const Q=["top","left","right","bottom"];function Z(i,t,e,s){const n=M(t,e);for(const r of Q)p(i,`${s}-${r}`,n[r]*100+"%")}function U(i,t,e,s){let n=1,r,o={...t};for(let a=0;al&&(r={...t},n=l),t={...o}}return r||o}const A=Symbol(0);function Vt(i,t,e,s){let n=e.firstElementChild,r=Dt(t),o,a=[];if(e[T]||(e[T]=Gt(i,e)),o=J(i,{...e[T]}),e[A])a=[e[A]==="top"?"+y":"-y","+x","-x"];else if(t.snapToLines){let l;switch(t.vertical){case"":a=["+y","-y"],l="height";break;case"rl":a=["+x","-x"],l="width";break;case"lr":a=["-x","+x"],l="width";break}let c=Pt(n),f=c*Math.round(r),u=i[l]+c,d=a[0];Math.abs(f)>u&&(f=f<0?-1:1,f*=Math.ceil(u/c)*c),r<0&&(f+=t.vertical===""?i.height:i.width,a=a.reverse()),S(o,d,f)}else{const l=t.vertical==="",c=l?"+y":"+x",f=l?o.height:o.width;S(o,c,(l?i.height:i.width)*r/100),S(o,c,t.lineAlign==="center"?f/2:t.lineAlign==="end"?f:0),a=l?["-y","+y","-x","+x"]:["-x","+x","-y","+y"]}return o=U(i,o,s,a),Z(e,i,o,"cue"),o}function Gt(i,t){const e=P(t),s=Ht(t);if(t[A]=!1,s.top&&(e.top=s.top,e.bottom=s.top+e.height,t[A]="top"),s.bottom){const n=i.height-s.bottom;e.top=n-e.height,e.bottom=n,t[A]="bottom"}return s.left&&(e.left=s.left),s.right&&(e.right=i.width-s.right),M(i,e)}function Ht(i){const t={};for(const e of Q)t[e]=parseFloat(i.style.getPropertyValue(`--cue-${e}`));return t}function Dt(i){return i.line==="auto"?i.snapToLines?-1:100:i.line}function Ft(i){if(i.position==="auto")switch(i.align){case"start":case"left":return 0;case"right":case"end":return 100;default:return 50}return i.position}function Wt(i,t){if(i.positionAlign==="auto")switch(i.align){case"start":return t==="ltr"?"line-left":"line-right";case"end":return t==="ltr"?"line-right":"line-left";case"center":return"center";default:return`line-${i.align}`}return i.positionAlign}const Xt=["-y","+y","-x","+x"];function qt(i,t,e,s){let n=Array.from(e.querySelectorAll('[data-part="cue-display"]')),r=0,o=Math.max(0,n.length-t.lines);for(let l=n.length-1;l>=o;l--)r+=n[l].offsetHeight;p(e,"region-height",r+"px"),e[T]||(e[T]=M(i,P(e)));let a={...e[T]};return a=J(i,a),a.width=e.clientWidth,a.height=r,a.right=a.left+a.width,a.bottom=a.top+r,a=U(i,a,s,Xt),Z(e,i,a,"region"),a}class Yt{constructor(t,e){h(this,"overlay");h(this,"z");h(this,"A",0);h(this,"C","ltr");h(this,"B",[]);h(this,"D",!1);h(this,"E");h(this,"h",new Map);h(this,"j",new Map);h(this,"K",Ot(()=>{this.D=!1,this.G();for(const t of this.h.values())t[T]=null;for(const t of this.j.values())t&&(t[T]=null);this.H(!0)},50));this.overlay=t,this.dir=(e==null?void 0:e.dir)??"ltr",t.setAttribute("translate","yes"),t.setAttribute("aria-live","off"),t.setAttribute("aria-atomic","true"),_(t,"captions"),this.G(),this.E=new ResizeObserver(this.I.bind(this)),this.E.observe(t)}get dir(){return this.C}set dir(t){this.C=t,g(this.overlay,"dir",t)}get currentTime(){return this.A}set currentTime(t){this.A=t,this.update()}changeTrack({regions:t,cues:e}){this.reset(),this.J(t);for(const s of e)this.j.set(s,null);this.update()}addCue(t){this.j.set(t,null),this.update()}removeCue(t){this.j.delete(t),this.update()}update(t=!1){this.H(t)}reset(){this.j.clear(),this.h.clear(),this.B=[],this.overlay.textContent=""}destroy(){this.reset(),this.E.disconnect()}I(){this.D=!0,this.K()}G(){this.z=P(this.overlay),p(this.overlay,"overlay-width",this.z.width+"px"),p(this.overlay,"overlay-height",this.z.height+"px")}H(t=!1){if(!this.j.size||this.D)return;let e,s=[...this.j.keys()].filter(r=>this.A>=r.startTime&&this.A<=r.endTime).sort((r,o)=>r.startTime!==o.startTime?r.startTime-o.startTime:r.endTime-o.endTime),n=s.map(r=>r.region);for(let r=0;rg(a,"active")),t=!0),o.isConnected||((a||this.overlay).append(o),t=!0)}if(t){const r=[],o=new Set;for(let a=s.length-1;a>=0;a--){if(e=s[a],o.has(e.region||e))continue;const l=this.F(e),c=l?this.h.get(e.region.id):this.j.get(e);l?r.push(qt(this.z,e.region,c,r)):r.push(Vt(this.z,e,c,r)),o.add(l?e.region:e)}}K(this.overlay,this.A),this.B=s}J(t){if(t)for(const e of t){const s=this.M(e);this.h.set(e.id,s),this.overlay.append(s)}}M(t){const e=document.createElement("div");return _(e,"region"),g(e,"id",t.id),g(e,"scroll",t.scroll),p(e,"region-width",t.width+"%"),p(e,"region-anchor-x",t.regionAnchorX),p(e,"region-anchor-y",t.regionAnchorY),p(e,"region-viewport-anchor-x",t.viewportAnchorX),p(e,"region-viewport-anchor-y",t.viewportAnchorY),p(e,"region-lines",t.lines),e}L(t){var o;const e=document.createElement("div"),s=Ft(t),n=Wt(t,this.C);if(_(e,"cue-display"),t.vertical!==""&&g(e,"vertical"),p(e,"cue-text-align",t.align),t.style)for(const a of Object.keys(t.style))e.style.setProperty(a,t.style[a]);if(this.F(t))p(e,"cue-offset",`${s-(n==="line-right"?100:n==="center"?50:0)}%`);else if(p(e,"cue-writing-mode",t.vertical===""?"horizontal-tb":t.vertical==="lr"?"vertical-lr":"vertical-rl"),!((o=t.style)!=null&&o["--cue-width"])){let a=s;n==="line-left"?a=100-s:n==="center"&&s<=50?a=s*2:n==="center"&&s>50&&(a=(100-s)*2);const l=t.size";class n extends h{parse(s,e){var a,r;if(s==="")this.a&&(this.j.push(this.a),(r=(a=this.f).onCue)==null||r.call(a,this.a),this.a=null),this.c=i.None;else if(this.c===i.Cue)this.a.text+=(this.a.text?` +import{V as h,a as i,b as o}from"./prod-BPmjCPvw.js";import"./app-BoGlXVck.js";const u=/,/g,c="-->";class n extends h{parse(s,e){var a,r;if(s==="")this.a&&(this.j.push(this.a),(r=(a=this.f).onCue)==null||r.call(a,this.a),this.a=null),this.c=i.None;else if(this.c===i.Cue)this.a.text+=(this.a.text?` `:"")+s;else if(s.includes(c)){const t=this.o(s,e);t&&(this.a=new o(t[0],t[1],t[2].join(" ")),this.a.id=this.l,this.c=i.Cue)}this.l=s}o(s,e){return super.o(s.replace(u,"."),e)}}function p(){return new n}export{n as SRTParser,p as default}; diff --git a/assets/ssa-parser-BES-hUAH.js b/assets/ssa-parser-BGMhcIL8.js similarity index 95% rename from assets/ssa-parser-BES-hUAH.js rename to assets/ssa-parser-BGMhcIL8.js index e017c40..02882c3 100644 --- a/assets/ssa-parser-BES-hUAH.js +++ b/assets/ssa-parser-BGMhcIL8.js @@ -1,10 +1,10 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/errors-BKkm5mBg.js","assets/prod-D24nP0G3.js","assets/app-HW7jk_p0.js"] + __vite__mapDeps.viteFileDeps = ["assets/errors-CZET3P8Q.js","assets/prod-BPmjCPvw.js","assets/app-BoGlXVck.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -var F=Object.defineProperty;var A=(o,t,s)=>t in o?F(o,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[t]=s;var u=(o,t,s)=>(A(o,typeof t!="symbol"?t+"":t,s),s);import{_ as N}from"./app-HW7jk_p0.js";import{b as L,p as R}from"./prod-D24nP0G3.js";const b=/^Format:[\s\t]*/,y=/^Style:[\s\t]*/,I=/^Dialogue:[\s\t]*/,S=/[\s\t]*,[\s\t]*/,w=/\{[^}]+\}/g,P=/\\N/g,x=/^\[(.*)[\s\t]?Styles\]$/,m=/^\[(.*)[\s\t]?Events\]$/;class V{constructor(){u(this,"f");u(this,"P",0);u(this,"a",null);u(this,"j",[]);u(this,"k",[]);u(this,"O",null);u(this,"d");u(this,"Q",{})}async init(t){this.f=t,t.errors&&(this.d=(await N(()=>import("./errors-BKkm5mBg.js"),__vite__mapDeps([0,1,2]))).ParseErrorBuilder)}parse(t,s){var e,a;if(this.P)switch(this.P){case 1:if(t==="")this.P=0;else if(y.test(t))if(this.O){const i=t.replace(y,"").split(S);this.T(i)}else this.e((e=this.d)==null?void 0:e.N("Style",s));else b.test(t)?this.O=t.replace(b,"").split(S):m.test(t)&&(this.O=null,this.P=2);break;case 2:if(t==="")this.R();else if(I.test(t))if(this.R(),this.O){const i=t.replace(I,"").split(S),r=this.U(i,s);r&&(this.a=r)}else this.e((a=this.d)==null?void 0:a.N("Dialogue",s));else this.a?this.a.text+=` +var F=Object.defineProperty;var A=(o,t,s)=>t in o?F(o,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[t]=s;var u=(o,t,s)=>(A(o,typeof t!="symbol"?t+"":t,s),s);import{_ as N}from"./app-BoGlXVck.js";import{b as L,p as R}from"./prod-BPmjCPvw.js";const b=/^Format:[\s\t]*/,y=/^Style:[\s\t]*/,I=/^Dialogue:[\s\t]*/,S=/[\s\t]*,[\s\t]*/,w=/\{[^}]+\}/g,P=/\\N/g,x=/^\[(.*)[\s\t]?Styles\]$/,m=/^\[(.*)[\s\t]?Events\]$/;class V{constructor(){u(this,"f");u(this,"P",0);u(this,"a",null);u(this,"j",[]);u(this,"k",[]);u(this,"O",null);u(this,"d");u(this,"Q",{})}async init(t){this.f=t,t.errors&&(this.d=(await N(()=>import("./errors-CZET3P8Q.js"),__vite__mapDeps([0,1,2]))).ParseErrorBuilder)}parse(t,s){var e,a;if(this.P)switch(this.P){case 1:if(t==="")this.P=0;else if(y.test(t))if(this.O){const i=t.replace(y,"").split(S);this.T(i)}else this.e((e=this.d)==null?void 0:e.N("Style",s));else b.test(t)?this.O=t.replace(b,"").split(S):m.test(t)&&(this.O=null,this.P=2);break;case 2:if(t==="")this.R();else if(I.test(t))if(this.R(),this.O){const i=t.replace(I,"").split(S),r=this.U(i,s);r&&(this.a=r)}else this.e((a=this.d)==null?void 0:a.N("Dialogue",s));else this.a?this.a.text+=` `+t.replace(w,"").replace(P,` `):b.test(t)?this.O=t.replace(b,"").split(S):x.test(t)?(this.O=null,this.P=1):m.test(t)&&(this.O=null)}else t===""||(x.test(t)?(this.O=null,this.P=1):m.test(t)&&(this.O=null,this.P=2))}done(){return{metadata:{},cues:this.j,regions:[],errors:this.k}}R(){var t,s;this.a&&(this.j.push(this.a),(s=(t=this.f).onCue)==null||s.call(t,this.a),this.a=null)}T(t){let s="Default",e={},a,i="center",r="bottom",f,c=1.2,n,p,h=3,d=[];for(let g=0;g=4&&(r=k>=7?"top":"center"),k%3){case 1:i="start";break;case 2:i="center";break;case 3:i="end";break}}}if(e.S=r,e["--cue-white-space"]="normal",e["--cue-line-height"]="normal",e["--cue-text-align"]=i,r==="center"?(e["--cue-top"]="50%",d.push("translateY(-50%)")):e[`--cue-${r}`]=(f||0)+"px",h===1&&(e["--cue-padding-y"]="0"),(h===1||p)&&(e["--cue-bg-color"]=h===1?"none":p),h===3&&n&&(e["--cue-outline"]=`${a}px solid ${n}`),h===1&&typeof a=="number"){const g=p??"#000";e["--cue-text-shadow"]=[n&&T(a*1.2,c*1.2,n),n?T(a*(a/2),c*(a/2),g):T(a,c,g)].filter(Boolean).join(", ")}d.length&&(e["--cue-transform"]=d.join(" ")),this.Q[s]=e}U(t,s){const e=this.V(t),a=this.o(e.Start,e.End,s);if(!a)return;const i=new L(a[0],a[1],""),r={...this.Q[e.Style]||{}},f=e.Name?``:"",c=r.S,n=e.MarginL&&parseFloat(e.MarginL),p=e.MarginR&&parseFloat(e.MarginR),h=e.MarginV&&parseFloat(e.MarginV);return n&&(r["--cue-width"]="auto",r["--cue-left"]=n+"px"),p&&(r["--cue-width"]="auto",r["--cue-right"]=p+"px"),h&&c!=="center"&&(r[`--cue-${c}`]=h+"px"),i.text=f+t.slice(this.O.length-1).join(", ").replace(w,"").replace(P,` `),delete r.S,Object.keys(r).length&&(i.style=r),i}V(t){const s={};for(let e=0;ea)return[a,i];a===null&&this.e((r=this.d)==null?void 0:r.q(t,e)),i===null&&this.e((f=this.d)==null?void 0:f.r(s,e)),a!=null&&i!==null&&i>a&&this.e((c=this.d)==null?void 0:c.s(a,i,e))}e(t){var s,e;if(t){if(this.k.push(t),this.f.strict)throw this.f.cancel(),t;(e=(s=this.f).onError)==null||e.call(s,t)}}}function O(o){const t=parseInt(o.replace("&H",""),16);if(t>=0){const e=(t>>24&255^255)/255,a=t>>16&255,i=t>>8&255;return"rgba("+[t&255,i,a,e].join(",")+")"}return null}function T(o,t,s){const e=Math.ceil(2*Math.PI*o);let a="";for(let i=0;i下表以 si 爲示範音節,提供粵語中 6 個聲調所有兩兩組合之發音,幫助讀者區分各個聲調。

六個音節的例字分別是「si1 si2 si3 si4 si5 si6」。

粵語六調
粵語六調
',3),s=l("div",{style:{display:"flex","flex-direction":"row","align-items":"center","flex-wrap":"wrap","justify-content":"center"}},[l("table",null,[l("tr",null,[l("th",null,"聲調"),l("th",null,"1"),l("th",null,"2"),l("th",null,"3"),l("th",null,"4"),l("th",null,"5"),l("th",null,"6")]),l("tr",null,[l("th",null,"1"),l("td",null,[l("a",{onclick:"_compare('si1','si1')"},"11")]),l("td",null,[l("a",{onclick:"_compare('si1','si2')"},"12")]),l("td",null,[l("a",{onclick:"_compare('si1','si3')"},"13")]),l("td",null,[l("a",{onclick:"_compare('si1','si4')"},"14")]),l("td",null,[l("a",{onclick:"_compare('si1','si5')"},"15")]),l("td",null,[l("a",{onclick:"_compare('si1','si6')"},"16")])]),l("tr",null,[l("th",null,"2"),l("td",null,[l("a",{onclick:"_compare('si2','si1')"},"21")]),l("td",null,[l("a",{onclick:"_compare('si2','si2')"},"22")]),l("td",null,[l("a",{onclick:"_compare('si2','si3')"},"23")]),l("td",null,[l("a",{onclick:"_compare('si2','si4')"},"24")]),l("td",null,[l("a",{onclick:"_compare('si2','si5')"},"25")]),l("td",null,[l("a",{onclick:"_compare('si2','si6')"},"26")])]),l("tr",null,[l("th",null,"3"),l("td",null,[l("a",{onclick:"_compare('si3','si1')"},"31")]),l("td",null,[l("a",{onclick:"_compare('si3','si2')"},"32")]),l("td",null,[l("a",{onclick:"_compare('si3','si3')"},"33")]),l("td",null,[l("a",{onclick:"_compare('si3','si4')"},"34")]),l("td",null,[l("a",{onclick:"_compare('si3','si5')"},"35")]),l("td",null,[l("a",{onclick:"_compare('si3','si6')"},"36")])]),l("tr",null,[l("th",null,"4"),l("td",null,[l("a",{onclick:"_compare('si4','si1')"},"41")]),l("td",null,[l("a",{onclick:"_compare('si4','si2')"},"42")]),l("td",null,[l("a",{onclick:"_compare('si4','si3')"},"43")]),l("td",null,[l("a",{onclick:"_compare('si4','si4')"},"44")]),l("td",null,[l("a",{onclick:"_compare('si4','si5')"},"45")]),l("td",null,[l("a",{onclick:"_compare('si4','si6')"},"46")])]),l("tr",null,[l("th",null,"5"),l("td",null,[l("a",{onclick:"_compare('si5','si1')"},"51")]),l("td",null,[l("a",{onclick:"_compare('si5','si2')"},"52")]),l("td",null,[l("a",{onclick:"_compare('si5','si3')"},"53")]),l("td",null,[l("a",{onclick:"_compare('si5','si4')"},"54")]),l("td",null,[l("a",{onclick:"_compare('si5','si5')"},"55")]),l("td",null,[l("a",{onclick:"_compare('si5','si6')"},"56")])]),l("tr",null,[l("th",null,"6"),l("td",null,[l("a",{onclick:"_compare('si6','si1')"},"61")]),l("td",null,[l("a",{onclick:"_compare('si6','si2')"},"62")]),l("td",null,[l("a",{onclick:"_compare('si6','si3')"},"63")]),l("td",null,[l("a",{onclick:"_compare('si6','si4')"},"64")]),l("td",null,[l("a",{onclick:"_compare('si6','si5')"},"65")]),l("td",null,[l("a",{onclick:"_compare('si6','si6')"},"66")])])]),l("br"),l("img",{src:o,height:"auto"})],-1),u=[r,s];function m(_,d){return t(),n("div",null,u)}const f=c(e,[["render",m],["__file","tone_difference.html.vue"]]),y=JSON.parse('{"path":"/practice/tone_difference.html","title":"聲調辨別","lang":"zh-TW","frontmatter":{"title":"聲調辨別","icon":"clipboard-check","category":["練習"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":1.68,"words":504},"filePathRelative":"practice/tone_difference.md","localizedDate":"2024年3月22日"}');export{f as comp,y as data}; +import{_ as i}from"./Jyutping-OPLPt_jc.js";import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as n,e as a,a as l}from"./app-BoGlXVck.js";const o="/navigator_jyutping/sample.png",e={},r=a('

下表以 si 爲示範音節,提供粵語中 6 個聲調所有兩兩組合之發音,幫助讀者區分各個聲調。

六個音節的例字分別是「si1 si2 si3 si4 si5 si6」。

粵語六調
粵語六調
',3),s=l("div",{style:{display:"flex","flex-direction":"row","align-items":"center","flex-wrap":"wrap","justify-content":"center"}},[l("table",null,[l("tr",null,[l("th",null,"聲調"),l("th",null,"1"),l("th",null,"2"),l("th",null,"3"),l("th",null,"4"),l("th",null,"5"),l("th",null,"6")]),l("tr",null,[l("th",null,"1"),l("td",null,[l("a",{onclick:"_compare('si1','si1')"},"11")]),l("td",null,[l("a",{onclick:"_compare('si1','si2')"},"12")]),l("td",null,[l("a",{onclick:"_compare('si1','si3')"},"13")]),l("td",null,[l("a",{onclick:"_compare('si1','si4')"},"14")]),l("td",null,[l("a",{onclick:"_compare('si1','si5')"},"15")]),l("td",null,[l("a",{onclick:"_compare('si1','si6')"},"16")])]),l("tr",null,[l("th",null,"2"),l("td",null,[l("a",{onclick:"_compare('si2','si1')"},"21")]),l("td",null,[l("a",{onclick:"_compare('si2','si2')"},"22")]),l("td",null,[l("a",{onclick:"_compare('si2','si3')"},"23")]),l("td",null,[l("a",{onclick:"_compare('si2','si4')"},"24")]),l("td",null,[l("a",{onclick:"_compare('si2','si5')"},"25")]),l("td",null,[l("a",{onclick:"_compare('si2','si6')"},"26")])]),l("tr",null,[l("th",null,"3"),l("td",null,[l("a",{onclick:"_compare('si3','si1')"},"31")]),l("td",null,[l("a",{onclick:"_compare('si3','si2')"},"32")]),l("td",null,[l("a",{onclick:"_compare('si3','si3')"},"33")]),l("td",null,[l("a",{onclick:"_compare('si3','si4')"},"34")]),l("td",null,[l("a",{onclick:"_compare('si3','si5')"},"35")]),l("td",null,[l("a",{onclick:"_compare('si3','si6')"},"36")])]),l("tr",null,[l("th",null,"4"),l("td",null,[l("a",{onclick:"_compare('si4','si1')"},"41")]),l("td",null,[l("a",{onclick:"_compare('si4','si2')"},"42")]),l("td",null,[l("a",{onclick:"_compare('si4','si3')"},"43")]),l("td",null,[l("a",{onclick:"_compare('si4','si4')"},"44")]),l("td",null,[l("a",{onclick:"_compare('si4','si5')"},"45")]),l("td",null,[l("a",{onclick:"_compare('si4','si6')"},"46")])]),l("tr",null,[l("th",null,"5"),l("td",null,[l("a",{onclick:"_compare('si5','si1')"},"51")]),l("td",null,[l("a",{onclick:"_compare('si5','si2')"},"52")]),l("td",null,[l("a",{onclick:"_compare('si5','si3')"},"53")]),l("td",null,[l("a",{onclick:"_compare('si5','si4')"},"54")]),l("td",null,[l("a",{onclick:"_compare('si5','si5')"},"55")]),l("td",null,[l("a",{onclick:"_compare('si5','si6')"},"56")])]),l("tr",null,[l("th",null,"6"),l("td",null,[l("a",{onclick:"_compare('si6','si1')"},"61")]),l("td",null,[l("a",{onclick:"_compare('si6','si2')"},"62")]),l("td",null,[l("a",{onclick:"_compare('si6','si3')"},"63")]),l("td",null,[l("a",{onclick:"_compare('si6','si4')"},"64")]),l("td",null,[l("a",{onclick:"_compare('si6','si5')"},"65")]),l("td",null,[l("a",{onclick:"_compare('si6','si6')"},"66")])])]),l("br"),l("img",{src:o,height:"auto"})],-1),u=[r,s];function m(_,d){return t(),n("div",null,u)}const f=c(e,[["render",m],["__file","tone_difference.html.vue"]]),y=JSON.parse('{"path":"/practice/tone_difference.html","title":"聲調辨別","lang":"zh-TW","frontmatter":{"title":"聲調辨別","icon":"clipboard-check","category":["練習"]},"headers":[],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":1.68,"words":504},"filePathRelative":"practice/tone_difference.md","localizedDate":"2024年3月22日"}');export{f as comp,y as data}; diff --git a/assets/typo.html-D-DRAGhi.js b/assets/typo.html-zFIYtGTO.js similarity index 98% rename from assets/typo.html-D-DRAGhi.js rename to assets/typo.html-zFIYtGTO.js index 1d8d43a..06de21a 100644 --- a/assets/typo.html-D-DRAGhi.js +++ b/assets/typo.html-zFIYtGTO.js @@ -1 +1 @@ -import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as r,c as o,a as t,b as l,d,e as n}from"./app-HW7jk_p0.js";const u={},s=t("p",null,"粵文一般使用繁體中文進行書寫,因此沒有簡化字中多字合併的問題。",-1),h={class:"hint-container details"},c=t("summary",null,"多字合併",-1),m={href:"http://www.kaom.net/font_jianhua_hbz.php",target:"_blank",rel:"noopener noreferrer"},p={href:"http://www.kaom.net/font_jianhua_txz.php",target:"_blank",rel:"noopener noreferrer"},_=n('

常見錯別字表與推薦用字方案

説明

表中部分字有唔止一個建議用字,主要考慮到粵語區唔同地域用字習慣,表示呢幾種用字皆可。

粵拼常見混用寫法釋義 & 判別標準
bei2比畀俾三隻字皆讀 bei2,其中
  • 「比」義爲【比較】
  • 「畀」義爲【給予】、【被動】
  • 「俾」罕用字,一般用於譯名例如「俾斯麥」或者成語
dei2/dei6地哋兩隻字都有 dei6 讀音,其中:
  • 「哋」僅用於複數人稱代詞,例如「我哋」「佢哋」
  • 「地」可用於「地面」「地點」等,另有一發音 dei2,用喺形容詞度,例如「神神地」「傻傻地」
di1/dit1Dd 滴尐啲讀作 di1 或 dit1 ,意思係【少量】,一律寫作「啲」。其餘都係非規範寫法。
duk1篤督㞘㧻涿𡰪全部都讀 duk1,其中
  • 「㞘」指【最尾】【末端】,例如「行到㞘」。另可寫作「𡰪」
  • 「㧻」係動詞,指【刺】【戳】
  • 「涿」係量詞,指「一涿屎」「一涿尿」
  • 「督」用於「監督」、「都督」等
  • 「篤」用於「篤信」、「篤定」等
fan3瞓訓讀音均為 fan3,其中
  • 「瞓」意思係【睡眠】,例如「瞓覺」
  • 「訓」用於「訓練」「訓教」等
faan1翻返番皆有 faan1 讀音,其中
  • 「翻」義爲【越過】【攀爬】
  • 「返」義爲【返回】、【前往】【回復體標記】,例如「返工」、「整返好佢」,亦有另一讀音 faan2。
  • 「番」意思有【次數】、【西方嘅】
gam2/gam3噉咁兩字皆有【如此】嘅意思,其中
  • 「噉」讀 gam2,代詞,例如「噉樣嘅話」
  • 「咁」讀 gam3,副詞,例如「咁犀利」
gau6舊嚿䊆兩字皆讀 gau6,其中
  • 「嚿」係量詞,意思係【塊】。另有寫作「䊆」。
  • 「舊」意思係【古老】
ge3既嘅噶
  • 「嘅」讀 ge3,係屬格標記,例如「我嘅書」。
  • 「既」讀 gei3,用例「既然」
  • 「噶」讀 got3,係擬聲詞
go2/go3/gwo2嗰個果
  • 「嗰」係遠指代詞,讀 go2,例如「嗰個人」
  • 「個」讀 go3,用例「一個人」
  • 「果」讀 gwo2,用例「果實」「水果」
haa2/haa5吓下
  • 「吓」讀 haa2,僅用作語氣詞,例如「吓?係真嘎?」「係噉嘅咩吓?」
  • 「下」有兩個發音,讀 haa6 個陣表示方向,例如「下面」「下方」;讀 haa5 個陣表示次數,例如「畀我睇下」「試下先」
hai6係系喺繫
  • 「係」讀 hai6, 用作謂語
  • 「系」讀 hai6,用例「系列」
  • 「喺」讀 hai2,表示所處時間方位,意思係【位於】,用例「我喺度」
  • 「繫」讀 hai6,用例「聯繫」。
je5野嘢讀音都係 je5,其中
  • 「嘢」係名詞,指【事物】
  • 「野」係形容詞,用例「野外」
lai4/lei4/loi4來嚟黎
  • 來:讀 loi4 ,用例「將來」「未來」
  • 嚟:讀 lai4 或者 lei4,例如「過嚟」
  • 黎:讀 lai4,用於姓氏或者「黎明」等
mou4/mou5無冇兩者皆爲否定詞,其中
  • 「無」讀 mou4
  • 「冇」讀 mou5
nam2/lam3諗惗冧
  • 「諗」讀 nam2,意思係【思考】【想】。
  • 「惗」讀 nam2,係「諗」嘅異體字,唔推薦使用
  • 「冧」讀 lam3,指【倒塌】,例如「冧屋」「冧樓」
sai2使駛洗三隻字都讀 sai2,其中
  • 「使」用於「使用」,例如「使錢」「唔使客氣」;另外有 si3 嘅讀音,用於「使者」「信使」「大使館」等
  • 「駛」用於「駕駛」
  • 「洗」指【清潔】,注意「使錢」同「洗錢」同音唔同義
saai3曬晒嗮哂
  • 「曬」讀 saai3,指「曬太陽」
  • 「晒」讀 saai3,係助詞,指【全部】例如「食晒飯」
  • 「嗮」讀 saai3,一般同「晒」意思相同,但係唔推薦使用
  • 「哂」讀 can2,指【譏笑】,例如「哂笑」
zo2左唨咗讀音皆為 zo2,其中
  • 「左」指方向,例如「左手」
  • 「咗」完成體標記,例如「食咗飯」
  • 「唨」同「咗」意思相同,但係唔推薦用呢隻字
zyu3/zyu6/zoek3/zoek6著住着
  • 「著」讀 zyu3,用例「著作」「著名」
  • 「住」讀 zyu6,係助動詞,例如「袋住先」;亦有「居住」嘅意思
  • 「着」有兩個發音,讀 zoek3 嗰陣係動詞,例如「着衫」;讀 zoek6 嗰陣有兩個意思,第一個係官話入邊嘅進行體標記,例如「唱着歌」;第二個係【啓動】嘅意思,例如「着火」「着色」
',3),g={href:"https://jyutping.org/blog/typo/",target:"_blank",rel:"noopener noreferrer"};function f(k,y){const i=a("ExternalLinkIcon");return r(),o("div",null,[s,t("details",h,[c,t("p",null,[l("關於内地簡化字的歸併問題,請參見"),t("a",m,[l("簡化合併字表"),d(i)]),l("同"),t("a",p,[l("簡化同形字表"),d(i)]),l("。")])]),_,t("p",null,[l("ref.: "),t("a",g,[l("Jyutping"),d(i)])])])}const v=e(u,[["render",f],["__file","typo.html.vue"]]),w=JSON.parse('{"path":"/research/typo.html","title":"常見錯別字","lang":"zh-TW","frontmatter":{"title":"常見錯別字","icon":"align-center","category":["説文解字"]},"headers":[{"level":2,"title":"常見錯別字表與推薦用字方案","slug":"常見錯別字表與推薦用字方案","link":"#常見錯別字表與推薦用字方案","children":[]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":4.5,"words":1349},"filePathRelative":"research/typo.md","localizedDate":"2024年3月22日"}');export{v as comp,w as data}; +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as r,c as o,a as t,b as l,d,e as n}from"./app-BoGlXVck.js";const u={},s=t("p",null,"粵文一般使用繁體中文進行書寫,因此沒有簡化字中多字合併的問題。",-1),h={class:"hint-container details"},c=t("summary",null,"多字合併",-1),m={href:"http://www.kaom.net/font_jianhua_hbz.php",target:"_blank",rel:"noopener noreferrer"},p={href:"http://www.kaom.net/font_jianhua_txz.php",target:"_blank",rel:"noopener noreferrer"},_=n('

常見錯別字表與推薦用字方案

説明

表中部分字有唔止一個建議用字,主要考慮到粵語區唔同地域用字習慣,表示呢幾種用字皆可。

粵拼常見混用寫法釋義 & 判別標準
bei2比畀俾三隻字皆讀 bei2,其中
  • 「比」義爲【比較】
  • 「畀」義爲【給予】、【被動】
  • 「俾」罕用字,一般用於譯名例如「俾斯麥」或者成語
dei2/dei6地哋兩隻字都有 dei6 讀音,其中:
  • 「哋」僅用於複數人稱代詞,例如「我哋」「佢哋」
  • 「地」可用於「地面」「地點」等,另有一發音 dei2,用喺形容詞度,例如「神神地」「傻傻地」
di1/dit1Dd 滴尐啲讀作 di1 或 dit1 ,意思係【少量】,一律寫作「啲」。其餘都係非規範寫法。
duk1篤督㞘㧻涿𡰪全部都讀 duk1,其中
  • 「㞘」指【最尾】【末端】,例如「行到㞘」。另可寫作「𡰪」
  • 「㧻」係動詞,指【刺】【戳】
  • 「涿」係量詞,指「一涿屎」「一涿尿」
  • 「督」用於「監督」、「都督」等
  • 「篤」用於「篤信」、「篤定」等
fan3瞓訓讀音均為 fan3,其中
  • 「瞓」意思係【睡眠】,例如「瞓覺」
  • 「訓」用於「訓練」「訓教」等
faan1翻返番皆有 faan1 讀音,其中
  • 「翻」義爲【越過】【攀爬】
  • 「返」義爲【返回】、【前往】【回復體標記】,例如「返工」、「整返好佢」,亦有另一讀音 faan2。
  • 「番」意思有【次數】、【西方嘅】
gam2/gam3噉咁兩字皆有【如此】嘅意思,其中
  • 「噉」讀 gam2,代詞,例如「噉樣嘅話」
  • 「咁」讀 gam3,副詞,例如「咁犀利」
gau6舊嚿䊆兩字皆讀 gau6,其中
  • 「嚿」係量詞,意思係【塊】。另有寫作「䊆」。
  • 「舊」意思係【古老】
ge3既嘅噶
  • 「嘅」讀 ge3,係屬格標記,例如「我嘅書」。
  • 「既」讀 gei3,用例「既然」
  • 「噶」讀 got3,係擬聲詞
go2/go3/gwo2嗰個果
  • 「嗰」係遠指代詞,讀 go2,例如「嗰個人」
  • 「個」讀 go3,用例「一個人」
  • 「果」讀 gwo2,用例「果實」「水果」
haa2/haa5吓下
  • 「吓」讀 haa2,僅用作語氣詞,例如「吓?係真嘎?」「係噉嘅咩吓?」
  • 「下」有兩個發音,讀 haa6 個陣表示方向,例如「下面」「下方」;讀 haa5 個陣表示次數,例如「畀我睇下」「試下先」
hai6係系喺繫
  • 「係」讀 hai6, 用作謂語
  • 「系」讀 hai6,用例「系列」
  • 「喺」讀 hai2,表示所處時間方位,意思係【位於】,用例「我喺度」
  • 「繫」讀 hai6,用例「聯繫」。
je5野嘢讀音都係 je5,其中
  • 「嘢」係名詞,指【事物】
  • 「野」係形容詞,用例「野外」
lai4/lei4/loi4來嚟黎
  • 來:讀 loi4 ,用例「將來」「未來」
  • 嚟:讀 lai4 或者 lei4,例如「過嚟」
  • 黎:讀 lai4,用於姓氏或者「黎明」等
mou4/mou5無冇兩者皆爲否定詞,其中
  • 「無」讀 mou4
  • 「冇」讀 mou5
nam2/lam3諗惗冧
  • 「諗」讀 nam2,意思係【思考】【想】。
  • 「惗」讀 nam2,係「諗」嘅異體字,唔推薦使用
  • 「冧」讀 lam3,指【倒塌】,例如「冧屋」「冧樓」
sai2使駛洗三隻字都讀 sai2,其中
  • 「使」用於「使用」,例如「使錢」「唔使客氣」;另外有 si3 嘅讀音,用於「使者」「信使」「大使館」等
  • 「駛」用於「駕駛」
  • 「洗」指【清潔】,注意「使錢」同「洗錢」同音唔同義
saai3曬晒嗮哂
  • 「曬」讀 saai3,指「曬太陽」
  • 「晒」讀 saai3,係助詞,指【全部】例如「食晒飯」
  • 「嗮」讀 saai3,一般同「晒」意思相同,但係唔推薦使用
  • 「哂」讀 can2,指【譏笑】,例如「哂笑」
zo2左唨咗讀音皆為 zo2,其中
  • 「左」指方向,例如「左手」
  • 「咗」完成體標記,例如「食咗飯」
  • 「唨」同「咗」意思相同,但係唔推薦用呢隻字
zyu3/zyu6/zoek3/zoek6著住着
  • 「著」讀 zyu3,用例「著作」「著名」
  • 「住」讀 zyu6,係助動詞,例如「袋住先」;亦有「居住」嘅意思
  • 「着」有兩個發音,讀 zoek3 嗰陣係動詞,例如「着衫」;讀 zoek6 嗰陣有兩個意思,第一個係官話入邊嘅進行體標記,例如「唱着歌」;第二個係【啓動】嘅意思,例如「着火」「着色」
',3),g={href:"https://jyutping.org/blog/typo/",target:"_blank",rel:"noopener noreferrer"};function f(k,y){const i=a("ExternalLinkIcon");return r(),o("div",null,[s,t("details",h,[c,t("p",null,[l("關於内地簡化字的歸併問題,請參見"),t("a",m,[l("簡化合併字表"),d(i)]),l("同"),t("a",p,[l("簡化同形字表"),d(i)]),l("。")])]),_,t("p",null,[l("ref.: "),t("a",g,[l("Jyutping"),d(i)])])])}const v=e(u,[["render",f],["__file","typo.html.vue"]]),w=JSON.parse('{"path":"/research/typo.html","title":"常見錯別字","lang":"zh-TW","frontmatter":{"title":"常見錯別字","icon":"align-center","category":["説文解字"]},"headers":[{"level":2,"title":"常見錯別字表與推薦用字方案","slug":"常見錯別字表與推薦用字方案","link":"#常見錯別字表與推薦用字方案","children":[]}],"git":{"createdTime":1711123984000,"updatedTime":1711123984000,"contributors":[{"name":"AvalonC","email":"ugz2000@live.com","commits":1}]},"readingTime":{"minutes":4.5,"words":1349},"filePathRelative":"research/typo.md","localizedDate":"2024年3月22日"}');export{v as comp,w as data}; diff --git a/assets/vidstack-6eBVBXTk-b4tLqLdz.js b/assets/vidstack-6eBVBXTk-C12H_9VE.js similarity index 89% rename from assets/vidstack-6eBVBXTk-b4tLqLdz.js rename to assets/vidstack-6eBVBXTk-C12H_9VE.js index 5d031a6..246b465 100644 --- a/assets/vidstack-6eBVBXTk-b4tLqLdz.js +++ b/assets/vidstack-6eBVBXTk-C12H_9VE.js @@ -1,7 +1,7 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/vidstack-google-cast-B2hB7S6z.js","assets/vidstack-D1JzjGR7-DAkoqXK2.js","assets/app-HW7jk_p0.js","assets/vidstack-BhYx9Fjk-_AHp1jNA.js"] + __vite__mapDeps.viteFileDeps = ["assets/vidstack-google-cast-B67z2jv7.js","assets/vidstack-D1JzjGR7-BUOnk6-S.js","assets/app-BoGlXVck.js","assets/vidstack-BhYx9Fjk-D_HaLJv-.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -import{_ as l}from"./app-HW7jk_p0.js";import{a_ as d,aT as g,aB as p,a$ as u,p as m,aU as C,aG as f,aV as h}from"./vidstack-D1JzjGR7-DAkoqXK2.js";function w(){return"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"}function v(){var a;return!!((a=window.cast)!=null&&a.framework)}function E(){var a,e;return!!((e=(a=window.chrome)==null?void 0:a.cast)!=null&&e.isAvailable)}function i(){return s().getCastState()===cast.framework.CastState.CONNECTED}function s(){return window.cast.framework.CastContext.getInstance()}function c(){return s().getCurrentSession()}function y(){var a;return(a=c())==null?void 0:a.getSessionObj().media[0]}function O(a){var t;return((t=y())==null?void 0:t.media.contentId)===(a==null?void 0:a.src)}function _(){return{language:"en-US",autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,resumeSavedSession:!0,androidReceiverCompatible:!0}}function S(a){return`Google Cast Error Code: ${a}`}function b(a,e){return d(s(),a,e)}class I{constructor(){this.name="google-cast"}get cast(){return s()}mediaType(){return"video"}canPlay(e){return g&&!p&&u(e)}async prompt(e){var o;let t;try{const r=await this.Pl(e);this.aa||(this.aa=new cast.framework.RemotePlayer,new cast.framework.RemotePlayerController(this.aa)),t=e.player.createEvent("google-cast-prompt-open",{trigger:r}),e.player.dispatchEvent(t),this.pm(e,"connecting",t),await this.Rl(m(e.$props.googleCast)),e.$state.remotePlaybackInfo.set({deviceName:(o=c())==null?void 0:o.getCastDevice().friendlyName}),i()&&this.pm(e,"connected",t)}catch(r){const n=C(r);throw this.pm(e,i()?"connected":"disconnected",new f("google-cast-prompt-error",{detail:n})),n}finally{e.player.dispatch("google-cast-prompt-close",{trigger:t})}}async load(e){if(!this.aa)throw Error("[vidstack] google cast player was not initialized");return new(await l(()=>import("./vidstack-google-cast-B2hB7S6z.js"),__vite__mapDeps([0,1,2,3]))).GoogleCastProvider(this.aa,e)}async Pl(e){if(v())return;const t=e.player.createEvent("google-cast-load-start");e.player.dispatch(t),await h(w()),await customElements.whenDefined("google-cast-launcher");const o=e.player.createEvent("google-cast-loaded",{trigger:t});if(e.player.dispatch(o),!E())throw Error("Cast not available.");return o}async Rl(e){this.Tl(e);const t=await this.cast.requestSession();if(t)throw Error(S(t))}Tl(e){var t;(t=this.cast)==null||t.setOptions({..._(),...e})}pm(e,t,o){const r={type:"google-cast",state:t};e.delegate.c("remote-playback-change",r,o)}}const R=Object.freeze(Object.defineProperty({__proto__:null,GoogleCastLoader:I},Symbol.toStringTag,{value:"Module"}));export{c as a,y as b,S as c,s as g,O as h,b as l,R as v}; +import{_ as l}from"./app-BoGlXVck.js";import{a_ as d,aT as g,aB as p,a$ as u,p as m,aU as C,aG as f,aV as h}from"./vidstack-D1JzjGR7-BUOnk6-S.js";function w(){return"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"}function v(){var a;return!!((a=window.cast)!=null&&a.framework)}function E(){var a,e;return!!((e=(a=window.chrome)==null?void 0:a.cast)!=null&&e.isAvailable)}function i(){return s().getCastState()===cast.framework.CastState.CONNECTED}function s(){return window.cast.framework.CastContext.getInstance()}function c(){return s().getCurrentSession()}function y(){var a;return(a=c())==null?void 0:a.getSessionObj().media[0]}function O(a){var t;return((t=y())==null?void 0:t.media.contentId)===(a==null?void 0:a.src)}function _(){return{language:"en-US",autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,resumeSavedSession:!0,androidReceiverCompatible:!0}}function S(a){return`Google Cast Error Code: ${a}`}function b(a,e){return d(s(),a,e)}class I{constructor(){this.name="google-cast"}get cast(){return s()}mediaType(){return"video"}canPlay(e){return g&&!p&&u(e)}async prompt(e){var o;let t;try{const r=await this.Pl(e);this.aa||(this.aa=new cast.framework.RemotePlayer,new cast.framework.RemotePlayerController(this.aa)),t=e.player.createEvent("google-cast-prompt-open",{trigger:r}),e.player.dispatchEvent(t),this.pm(e,"connecting",t),await this.Rl(m(e.$props.googleCast)),e.$state.remotePlaybackInfo.set({deviceName:(o=c())==null?void 0:o.getCastDevice().friendlyName}),i()&&this.pm(e,"connected",t)}catch(r){const n=C(r);throw this.pm(e,i()?"connected":"disconnected",new f("google-cast-prompt-error",{detail:n})),n}finally{e.player.dispatch("google-cast-prompt-close",{trigger:t})}}async load(e){if(!this.aa)throw Error("[vidstack] google cast player was not initialized");return new(await l(()=>import("./vidstack-google-cast-B67z2jv7.js"),__vite__mapDeps([0,1,2,3]))).GoogleCastProvider(this.aa,e)}async Pl(e){if(v())return;const t=e.player.createEvent("google-cast-load-start");e.player.dispatch(t),await h(w()),await customElements.whenDefined("google-cast-launcher");const o=e.player.createEvent("google-cast-loaded",{trigger:t});if(e.player.dispatch(o),!E())throw Error("Cast not available.");return o}async Rl(e){this.Tl(e);const t=await this.cast.requestSession();if(t)throw Error(S(t))}Tl(e){var t;(t=this.cast)==null||t.setOptions({..._(),...e})}pm(e,t,o){const r={type:"google-cast",state:t};e.delegate.c("remote-playback-change",r,o)}}const R=Object.freeze(Object.defineProperty({__proto__:null,GoogleCastLoader:I},Symbol.toStringTag,{value:"Module"}));export{c as a,y as b,S as c,s as g,O as h,b as l,R as v}; diff --git a/assets/vidstack-BhYx9Fjk-_AHp1jNA.js b/assets/vidstack-BhYx9Fjk-D_HaLJv-.js similarity index 77% rename from assets/vidstack-BhYx9Fjk-_AHp1jNA.js rename to assets/vidstack-BhYx9Fjk-D_HaLJv-.js index 48e271a..2b52f51 100644 --- a/assets/vidstack-BhYx9Fjk-_AHp1jNA.js +++ b/assets/vidstack-BhYx9Fjk-D_HaLJv-.js @@ -1 +1 @@ -import{aI as i,aJ as s}from"./vidstack-D1JzjGR7-DAkoqXK2.js";class r{constructor(a){this.Ca=a}Bb(){i(this.ca)&&this.Oe()}ra(){s(this.ca)&&window.cancelAnimationFrame(this.ca),this.ca=void 0}Oe(){this.ca=window.requestAnimationFrame(()=>{i(this.ca)||(this.Ca(),this.Oe())})}}export{r as R}; +import{aI as i,aJ as s}from"./vidstack-D1JzjGR7-BUOnk6-S.js";class r{constructor(a){this.Ca=a}Bb(){i(this.ca)&&this.Oe()}ra(){s(this.ca)&&window.cancelAnimationFrame(this.ca),this.ca=void 0}Oe(){this.ca=window.requestAnimationFrame(()=>{i(this.ca)||(this.Ca(),this.Oe())})}}export{r as R}; diff --git a/assets/vidstack-D1JzjGR7-DAkoqXK2.js b/assets/vidstack-D1JzjGR7-BUOnk6-S.js similarity index 99% rename from assets/vidstack-D1JzjGR7-DAkoqXK2.js rename to assets/vidstack-D1JzjGR7-BUOnk6-S.js index e2bd408..7f7edf0 100644 --- a/assets/vidstack-D1JzjGR7-DAkoqXK2.js +++ b/assets/vidstack-D1JzjGR7-BUOnk6-S.js @@ -1,9 +1,9 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/prod-D24nP0G3.js","assets/app-HW7jk_p0.js","assets/vidstack-audio-BTzunSFq.js","assets/vidstack-html-c-YRihIv.js","assets/vidstack-BhYx9Fjk-_AHp1jNA.js","assets/vidstack-video-BCqt9O7D.js","assets/vidstack-hls-Co8nldtG.js","assets/vidstack-vimeo-wbNE0q10.js","assets/vidstack-DPZGEOYG-CxNwHI-Q.js","assets/vidstack-BTBUzdbF-Cao5mZMB.js","assets/vidstack-youtube-BJp_k-du.js","assets/vidstack-DscYSLiW-CA6XwpqT.js","assets/vidstack-6eBVBXTk-b4tLqLdz.js"] + __vite__mapDeps.viteFileDeps = ["assets/prod-BPmjCPvw.js","assets/app-BoGlXVck.js","assets/vidstack-audio-BRzpik8Q.js","assets/vidstack-html-DruLgKFn.js","assets/vidstack-BhYx9Fjk-D_HaLJv-.js","assets/vidstack-video-DDlOvicQ.js","assets/vidstack-hls-DfJvjx7c.js","assets/vidstack-vimeo-k7zBeXSO.js","assets/vidstack-DPZGEOYG-CKBMu5zT.js","assets/vidstack-BTBUzdbF-Cao5mZMB.js","assets/vidstack-youtube-CPRG2wRF.js","assets/vidstack-DscYSLiW-CA6XwpqT.js","assets/vidstack-6eBVBXTk-C12H_9VE.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -import{_ as st}from"./app-HW7jk_p0.js";const et=Symbol(0);let Te=!1,os=!1,rt=null,Ft=null,tt=null,Y=0,Nt=[],Ps={};const Sr=()=>{},Wt=0,Dn=1,Gt=2,Ke=3;function xr(){Te=!0,queueMicrotask(jn)}function jn(){if(!Nt.length){Te=!1;return}os=!0;for(let i=0;i=0;e--)Ls(t[e])}function Ar(i){const t=ke();return he(t,i.length?i.bind(null,oe.bind(t)):i,null)}function m(i){return he(rt,i,null)}function In(i){return he(null,i,null)}function wt(){os||jn()}function Ss(){return rt}function Q(i,t){try{return he(t,i,null)}catch(e){xs(t,e);return}}function Rn(i,t=rt){return t==null?void 0:t.$cx[i]}function Cr(i,t,e=rt){e&&(e.$cx={...e.$cx,[i]:t})}function P(i){if(!i||!rt)return i||Sr;const t=rt;return t.$d?Array.isArray(t.$d)?t.$d.push(i):t.$d=[t.$d,i]:t.$d=i,function(){t.$st!==Ke&&(i.call(null),Ue(t.$d)?t.$d=null:Array.isArray(t.$d)&&t.$d.splice(t.$d.indexOf(i),1))}}function oe(i=!0){if(this.$st===Ke)return;let t=i?this.$ps||this[et]:this,e=this.$ns,s=null;for(;e&&e[et]===this;)oe.call(e,!0),ji(e),s=e.$ns,e.$ns=null,e=s;i&&ji(this),e&&(e.$ps=i?this.$ps:this),t&&(t.$ns=e)}function ji(i){i.$st=Ke,i.$d&&qn(i),i.$s&&ye(i,0),i.$ps&&(i.$ps.$ns=null),i[et]=null,i.$s=null,i.$o=null,i.$ps=null,i.$cx=Ps,i.$eh=null}function qn(i){try{if(Array.isArray(i.$d))for(let t=i.$d.length-1;t>=0;t--){const e=i.$d[t];e.call(e)}else i.$d.call(i.$d);i.$d=null}catch(t){xs(i,t)}}function he(i,t,e){const s=rt,n=Ft;rt=i,Ft=e;try{return t.call(i)}finally{rt=s,Ft=n}}function xs(i,t){if(!i||!i.$eh)throw t;let e=0,s=i.$eh.length,n=Ii(t);for(e=0;e0){i.$s.length=Y+tt.length;for(let r=0;r=t)&&(i.$e&&i.$st===Wt&&(Nt.push(i),Te||xr()),i.$st=t,i.$o))for(let e=0;e"u"}function tc(i){return xt(i)||J(i)}function Lr(i){return(i==null?void 0:i.constructor)===Object}function ot(i){return typeof i=="number"&&!Number.isNaN(i)}function v(i){return typeof i=="string"}function ec(i){return typeof i=="boolean"}function ht(i){return typeof i=="function"}function H(i){return Array.isArray(i)}var qi;const Mr=Event,Hn=Symbol("DOM_EVENT");class M extends Mr{constructor(t,...e){var n,r;super(t,e[0]),this[qi]=!0,this.triggers=new Dr,this.detail=(n=e[0])==null?void 0:n.detail;const s=(r=e[0])==null?void 0:r.trigger;s&&this.triggers.add(s)}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){var t;return((t=this.triggers.origin)==null?void 0:t.isTrusted)??!1}}qi=Hn;class Dr{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(t){this.chain.push(t),jr(t)&&this.chain.push(...t.triggers)}remove(t){return this.chain.splice(this.chain.indexOf(t),1)[0]}has(t){return this.chain.some(e=>e===t)}hasType(t){return!!this.findType(t)}findType(t){return this.chain.find(e=>e.type===t)}walk(t){for(const e of this.chain){const s=t(e);if(s)return[e,s]}}[Symbol.iterator](){return this.chain.values()}}function jr(i){return!!(i!=null&&i[Hn])}class Kn extends EventTarget{addEventListener(t,e,s){return super.addEventListener(t,e,s)}removeEventListener(t,e,s){return super.removeEventListener(t,e,s)}}function b(i,t,e,s){return i.addEventListener(t,e,s),P(()=>i.removeEventListener(t,e,s))}function _i(i){return!!(i!=null&&i.type.startsWith("pointer"))}function $e(i){return!!(i!=null&&i.type.startsWith("touch"))}function Ir(i){return/^(click|mouse)/.test((i==null?void 0:i.type)??"")}function Pe(i){return!!(i!=null&&i.type.startsWith("key"))}function Un(i){return Pe(i)&&(i.key==="Enter"||i.key===" ")}function k(i,t,e){if(i)if(!e&&e!==""&&e!==0)i.removeAttribute(t);else{const s=e===!0?"":e+"";i.getAttribute(t)!==s&&i.setAttribute(t,s)}else return}function z(i,t,e){if(i)!e&&e!==0?i.style.removeProperty(t):i.style.setProperty(t,e+"");else return}function sc(i,t,e){i.classList[e?"add":"remove"](t)}function g(i,t){const e=Os(i,null,t),s=Es.bind(e);return s[et]=!0,s.set=_n.bind(e),s}function Rr(i){return Ue(i)&&et in i}function vt(i,t){const e=Os(t==null?void 0:t.initial,i,t),s=Es.bind(e);return s[et]=!0,s}function qr(i,t){const e=Os(null,function(){let n=i();return Ue(n)&&P(n),null},void 0);return e.$e=!0,Fn(e),oe.bind(e,!0)}function _r(i){return Rr(i)&&"set"in i}const u=qr;function Et(i){return{id:Symbol(),provide:i}}function it(i,t,e=Ss()){var n;const s=!J(t);Cr(i.id,s?t:(n=i.provide)==null?void 0:n.call(i),e)}function I(i){return Rn(i.id)}function lt(i){return!J(Rn(i.id))}const Bt=Symbol(0),Xt=Symbol(0),Wn=Symbol(0);var Ni;const Ze={};class Nr{constructor(t,e,s){var a;this[Ni]=null,this.$el=g(null),this.a=null,this.d=null,this.f=null,this.g=null,this.e=null,this.o=!1,this.i=Ze,this.b=null,this.c=null,this.l=[],this.m=[],this.j=[],this.n=[],this.d=e,s!=null&&s.scope&&s.scope.append(e);let n=t.state,r=t.props;if(n&&(this.h=n.create(),this.k=new Proxy(this.h,{get:(o,h)=>this.h[h]()}),it(n,this.h)),r&&(this.i=Fr(r),s!=null&&s.props))for(const o of Object.keys(s.props))(a=this.i[o])==null||a.set(s.props[o]);P(this.p.bind(this))}w(){Q(()=>{for(const t of this.l)t()},this.d)}x(t){this.a||(this.a=t,this.$el.set(t),Q(()=>{this.f=ke(),Q(()=>{for(const e of this.m)e(this.a);this.q(),this.r()},this.f)},this.d),t.dispatchEvent(new Event("attached")))}s(){var t;(t=this.f)==null||t.dispose(),this.f=null,this.g=null,this.a=null,this.$el.set(null)}y(){!this.a||!this.f||!this.j.length||Q(()=>{this.g=ke(),Q(()=>{for(const t of this.j)t(this.a)},this.g)},this.f)}z(){var t;(t=this.g)==null||t.dispose(),this.g=null}p(){if(this.o)return;this.o=!0,Q(()=>{for(const e of this.n)e(this.a)},this.d);const t=this.a;this.s(),this.d.dispose(),this.l.length=0,this.m.length=0,this.j.length=0,this.n.length=0,this.e=null,this.b=null,this.c=null,this.i=Ze,this.d=null,this.k=Ze,this.h=null,t&&delete t.$}t(t){t.onSetup&&this.l.push(t.onSetup.bind(t)),t.onAttach&&this.m.push(t.onAttach.bind(t)),t.onConnect&&this.j.push(t.onConnect.bind(t)),t.onDestroy&&this.n.push(t.onDestroy.bind(t))}q(){if(this.b)for(const t of Object.keys(this.b))ht(this.b[t])?u(this.u.bind(this,t)):k(this.a,t,this.b[t])}r(){if(this.c)for(const t of Object.keys(this.c))ht(this.c[t])?u(this.v.bind(this,t)):z(this.a,t,this.c[t])}u(t){k(this.a,t,this.b[t].call(this.e))}v(t){z(this.a,t,this.c[t].call(this.e))}}Ni=Wn;function Fr(i){const t={};for(const e of Object.keys(i)){const s=i[e];t[e]=g(s,s)}return t}let Yt={$$:null};function Vr(i,t){return Ar(()=>{Yt.$$=new Nr(i,Ss(),t);const e=new i;return Yt.$$.e=e,Yt.$$=null,e})}class at extends EventTarget{constructor(){super(),Yt.$$&&this.attach(Yt)}get el(){return this.$$.a}get $el(){return this.$$.$el()}get scope(){return this.$$.d}get attachScope(){return this.$$.f}get connectScope(){return this.$$.g}get $props(){return this.$$.i}get $state(){return this.$$.h}get state(){return this.$$.k}attach({$$:t}){return this.$$=t,t.t(this),this}addEventListener(t,e,s){this.listen(t,e,s)}removeEventListener(t,e,s){var n;(n=this.el)==null||n.removeEventListener(t,e,s)}setAttributes(t){this.$$.b||(this.$$.b={}),Object.assign(this.$$.b,t)}setStyles(t){this.$$.c||(this.$$.c={}),Object.assign(this.$$.c,t)}setCSSVars(t){this.setStyles(t)}createEvent(t,...e){return new M(t,e[0])}dispatch(t,...e){if(!this.el)return!1;const s=t instanceof Event?t:new M(t,e[0]);return Object.defineProperty(s,"target",{get:()=>this.$$.e}),In(()=>{var n,r;return(r=(n=this.$$)[Wn])==null||r.call(n,s),this.el.dispatchEvent(s)})}dispatchEvent(t){return this.dispatch(t)}listen(t,e,s){return this.el?b(this.el,t,e,s):Ms}}class $ extends at{subscribe(t){return Q(()=>u(()=>t(this.state)),this.$$.d)}destroy(){this.$$.p()}}function w(i,t,e){i[Bt]||(i[Bt]=new Set),i[Bt].add(t)}function D(i,t,e){i[Xt]||(i[Xt]=new Set),i[Xt].add(t)}class It{constructor(t){this.id=Symbol(0),this.record=t,this.A=Object.getOwnPropertyDescriptors(t)}create(){const t={},e=new Proxy(t,{get:(s,n)=>t[n]()});for(const s of Object.keys(this.record)){const n=this.A[s].get;t[s]=n?vt(n.bind(e)):g(this.record[s])}return t}reset(t,e){for(const s of Object.keys(t))!this.A[s].get&&(!e||e(s))&&t[s].set(this.record[s])}}function We(i){return I(i)}function Hr(i,t){for(const e of i)e(t)}function Qn(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Kr(i){return i.replace(/-./g,t=>t[1].toUpperCase())}function Ur(i){return i.charAt(0).toUpperCase()+i.slice(1)}function ic(i){return ht(i)?i():i}function Se(i){return i?"true":"false"}function Ds(){const i=new Set;return{add(...t){for(const e of t)i.add(e)},empty(){for(const t of i)t();i.clear()}}}function nc(){const i=Ds();return P(i.empty),i}function rc(i){return Object.keys(i)}function hs(){let i,t;return{promise:new Promise((s,n)=>{i=s,t=n}),resolve:i,reject:t}}function Wr(i){return new Promise(t=>setTimeout(t,i))}function Rt(i){let t=-1,e;function s(...n){e=n,!(t>=0)&&(t=window.requestAnimationFrame(()=>{i.apply(this,e),t=-1,e=void 0}))}return s}const Qr=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:i=>window.setTimeout(i,1):Ms;function zr(i,t){return new Promise(e=>{Qr(s=>{i==null||i(s),e()},t)})}const cs=Math.min,Vt=Math.max,xe=Math.round,fe=Math.floor,Tt=i=>({x:i,y:i});function zn(i){return i.split("-")[0]}function Br(i){return i.split("-")[1]}function Xr(i){return i==="x"?"y":"x"}function Yr(i){return i==="y"?"height":"width"}function Bn(i){return["top","bottom"].includes(zn(i))?"y":"x"}function Jr(i){return Xr(Bn(i))}function Xn(i){return{...i,top:i.y,left:i.x,right:i.x+i.width,bottom:i.y+i.height}}function Fi(i,t,e){let{reference:s,floating:n}=i;const r=Bn(t),a=Jr(t),o=Yr(a),h=zn(t),c=r==="y",l=s.x+s.width/2-n.width/2,d=s.y+s.height/2-n.height/2,p=s[o]/2-n[o]/2;let f;switch(h){case"top":f={x:l,y:s.y-n.height};break;case"bottom":f={x:l,y:s.y+s.height};break;case"right":f={x:s.x+s.width,y:d};break;case"left":f={x:s.x-n.width,y:d};break;default:f={x:s.x,y:s.y}}switch(Br(t)){case"start":f[a]-=p*(e&&c?-1:1);break;case"end":f[a]+=p*(e&&c?-1:1);break}return f}const Gr=async(i,t,e)=>{const{placement:s="bottom",strategy:n="absolute",middleware:r=[],platform:a}=e,o=r.filter(Boolean),h=await(a.isRTL==null?void 0:a.isRTL(t));let c=await a.getElementRects({reference:i,floating:t,strategy:n}),{x:l,y:d}=Fi(c,s,h),p=s,f={},y=0;for(let x=0;x"u"?!1:i instanceof ShadowRoot||i instanceof G(i).ShadowRoot}function ce(i){const{overflow:t,overflowX:e,overflowY:s,display:n}=nt(i);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!["inline","contents"].includes(n)}function Zr(i){return["table","td","th"].includes(kt(i))}function js(i){const t=Is(),e=nt(i);return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||["transform","perspective","filter"].some(s=>(e.willChange||"").includes(s))||["paint","layout","strict","content"].some(s=>(e.contain||"").includes(s))}function ta(i){let t=Kt(i);for(;ct(t)&&!Qe(t);){if(js(t))return t;t=Kt(t)}return null}function Is(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Qe(i){return["html","body","#document"].includes(kt(i))}function nt(i){return G(i).getComputedStyle(i)}function ze(i){return mt(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:{scrollLeft:i.pageXOffset,scrollTop:i.pageYOffset}}function Kt(i){if(kt(i)==="html")return i;const t=i.assignedSlot||i.parentNode||Vi(i)&&i.host||bt(i);return Vi(t)?t.host:t}function Jn(i){const t=Kt(i);return Qe(t)?i.ownerDocument?i.ownerDocument.body:i.body:ct(t)&&ce(t)?t:Jn(t)}function Zt(i,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);const n=Jn(i),r=n===((s=i.ownerDocument)==null?void 0:s.body),a=G(n);return r?t.concat(a,a.visualViewport||[],ce(n)?n:[],a.frameElement&&e?Zt(a.frameElement):[]):t.concat(n,Zt(n,[],e))}function Gn(i){const t=nt(i);let e=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const n=ct(i),r=n?i.offsetWidth:e,a=n?i.offsetHeight:s,o=xe(e)!==r||xe(s)!==a;return o&&(e=r,s=a),{width:e,height:s,$:o}}function Rs(i){return mt(i)?i:i.contextElement}function Ht(i){const t=Rs(i);if(!ct(t))return Tt(1);const e=t.getBoundingClientRect(),{width:s,height:n,$:r}=Gn(t);let a=(r?xe(e.width):e.width)/s,o=(r?xe(e.height):e.height)/n;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}const ea=Tt(0);function Zn(i){const t=G(i);return!Is()||!t.visualViewport?ea:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sa(i,t,e){return t===void 0&&(t=!1),!e||t&&e!==G(i)?!1:t}function Mt(i,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);const n=i.getBoundingClientRect(),r=Rs(i);let a=Tt(1);t&&(s?mt(s)&&(a=Ht(s)):a=Ht(i));const o=sa(r,e,s)?Zn(r):Tt(0);let h=(n.left+o.x)/a.x,c=(n.top+o.y)/a.y,l=n.width/a.x,d=n.height/a.y;if(r){const p=G(r),f=s&&mt(s)?G(s):s;let y=p,x=y.frameElement;for(;x&&s&&f!==y;){const j=Ht(x),O=x.getBoundingClientRect(),R=nt(x),F=O.left+(x.clientLeft+parseFloat(R.paddingLeft))*j.x,V=O.top+(x.clientTop+parseFloat(R.paddingTop))*j.y;h*=j.x,c*=j.y,l*=j.x,d*=j.y,h+=F,c+=V,y=G(x),x=y.frameElement}}return Xn({width:l,height:d,x:h,y:c})}const ia=[":popover-open",":modal"];function tr(i){return ia.some(t=>{try{return i.matches(t)}catch{return!1}})}function na(i){let{elements:t,rect:e,offsetParent:s,strategy:n}=i;const r=n==="fixed",a=bt(s),o=t?tr(t.floating):!1;if(s===a||o&&r)return e;let h={scrollLeft:0,scrollTop:0},c=Tt(1);const l=Tt(0),d=ct(s);if((d||!d&&!r)&&((kt(s)!=="body"||ce(a))&&(h=ze(s)),ct(s))){const p=Mt(s);c=Ht(s),l.x=p.x+s.clientLeft,l.y=p.y+s.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-h.scrollLeft*c.x+l.x,y:e.y*c.y-h.scrollTop*c.y+l.y}}function ra(i){return Array.from(i.getClientRects())}function er(i){return Mt(bt(i)).left+ze(i).scrollLeft}function aa(i){const t=bt(i),e=ze(i),s=i.ownerDocument.body,n=Vt(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),r=Vt(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let a=-e.scrollLeft+er(i);const o=-e.scrollTop;return nt(s).direction==="rtl"&&(a+=Vt(t.clientWidth,s.clientWidth)-n),{width:n,height:r,x:a,y:o}}function oa(i,t){const e=G(i),s=bt(i),n=e.visualViewport;let r=s.clientWidth,a=s.clientHeight,o=0,h=0;if(n){r=n.width,a=n.height;const c=Is();(!c||c&&t==="fixed")&&(o=n.offsetLeft,h=n.offsetTop)}return{width:r,height:a,x:o,y:h}}function ha(i,t){const e=Mt(i,!0,t==="fixed"),s=e.top+i.clientTop,n=e.left+i.clientLeft,r=ct(i)?Ht(i):Tt(1),a=i.clientWidth*r.x,o=i.clientHeight*r.y,h=n*r.x,c=s*r.y;return{width:a,height:o,x:h,y:c}}function Hi(i,t,e){let s;if(t==="viewport")s=oa(i,e);else if(t==="document")s=aa(bt(i));else if(mt(t))s=ha(t,e);else{const n=Zn(i);s={...t,x:t.x-n.x,y:t.y-n.y}}return Xn(s)}function sr(i,t){const e=Kt(i);return e===t||!mt(e)||Qe(e)?!1:nt(e).position==="fixed"||sr(e,t)}function ca(i,t){const e=t.get(i);if(e)return e;let s=Zt(i,[],!1).filter(o=>mt(o)&&kt(o)!=="body"),n=null;const r=nt(i).position==="fixed";let a=r?Kt(i):i;for(;mt(a)&&!Qe(a);){const o=nt(a),h=js(a);!h&&o.position==="fixed"&&(n=null),(r?!h&&!n:!h&&o.position==="static"&&!!n&&["absolute","fixed"].includes(n.position)||ce(a)&&!h&&sr(i,a))?s=s.filter(l=>l!==a):n=o,a=Kt(a)}return t.set(i,s),s}function la(i){let{element:t,boundary:e,rootBoundary:s,strategy:n}=i;const a=[...e==="clippingAncestors"?ca(t,this._c):[].concat(e),s],o=a[0],h=a.reduce((c,l)=>{const d=Hi(t,l,n);return c.top=Vt(d.top,c.top),c.right=cs(d.right,c.right),c.bottom=cs(d.bottom,c.bottom),c.left=Vt(d.left,c.left),c},Hi(t,o,n));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}}function ua(i){const{width:t,height:e}=Gn(i);return{width:t,height:e}}function da(i,t,e){const s=ct(t),n=bt(t),r=e==="fixed",a=Mt(i,!0,r,t);let o={scrollLeft:0,scrollTop:0};const h=Tt(0);if(s||!s&&!r)if((kt(t)!=="body"||ce(n))&&(o=ze(t)),s){const d=Mt(t,!0,r,t);h.x=d.x+t.clientLeft,h.y=d.y+t.clientTop}else n&&(h.x=er(n));const c=a.left+o.scrollLeft-h.x,l=a.top+o.scrollTop-h.y;return{x:c,y:l,width:a.width,height:a.height}}function Ki(i,t){return!ct(i)||nt(i).position==="fixed"?null:t?t(i):i.offsetParent}function ir(i,t){const e=G(i);if(!ct(i)||tr(i))return e;let s=Ki(i,t);for(;s&&Zr(s)&&nt(s).position==="static";)s=Ki(s,t);return s&&(kt(s)==="html"||kt(s)==="body"&&nt(s).position==="static"&&!js(s))?e:s||ta(i)||e}const pa=async function(i){const t=this.getOffsetParent||ir,e=this.getDimensions;return{reference:da(i.reference,await t(i.floating),i.strategy),floating:{x:0,y:0,...await e(i.floating)}}};function fa(i){return nt(i).direction==="rtl"}const ma={convertOffsetParentRelativeRectToViewportRelativeRect:na,getDocumentElement:bt,getClippingRect:la,getOffsetParent:ir,getElementRects:pa,getClientRects:ra,getDimensions:ua,getScale:Ht,isElement:mt,isRTL:fa};function ba(i,t){let e=null,s;const n=bt(i);function r(){var o;clearTimeout(s),(o=e)==null||o.disconnect(),e=null}function a(o,h){o===void 0&&(o=!1),h===void 0&&(h=1),r();const{left:c,top:l,width:d,height:p}=i.getBoundingClientRect();if(o||t(),!d||!p)return;const f=fe(l),y=fe(n.clientWidth-(c+d)),x=fe(n.clientHeight-(l+p)),j=fe(c),R={rootMargin:-f+"px "+-y+"px "+-x+"px "+-j+"px",threshold:Vt(0,cs(1,h))||1};let F=!0;function V(q){const gt=q[0].intersectionRatio;if(gt!==h){if(!F)return a();gt?a(!1,gt):s=setTimeout(()=>{a(!1,1e-7)},100)}F=!1}try{e=new IntersectionObserver(V,{...R,root:n.ownerDocument})}catch{e=new IntersectionObserver(V,R)}e.observe(i)}return a(!0),r}function ga(i,t,e,s){s===void 0&&(s={});const{ancestorScroll:n=!0,ancestorResize:r=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:h=!1}=s,c=Rs(i),l=n||r?[...c?Zt(c):[],...Zt(t)]:[];l.forEach(O=>{n&&O.addEventListener("scroll",e,{passive:!0}),r&&O.addEventListener("resize",e)});const d=c&&o?ba(c,e):null;let p=-1,f=null;a&&(f=new ResizeObserver(O=>{let[R]=O;R&&R.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var F;(F=f)==null||F.observe(t)})),e()}),c&&!h&&f.observe(c),f.observe(t));let y,x=h?Mt(i):null;h&&j();function j(){const O=Mt(i);x&&(O.x!==x.x||O.y!==x.y||O.width!==x.width||O.height!==x.height)&&e(),x=O,y=requestAnimationFrame(j)}return e(),()=>{var O;l.forEach(R=>{n&&R.removeEventListener("scroll",e),r&&R.removeEventListener("resize",e)}),d==null||d(),(O=f)==null||O.disconnect(),f=null,h&&cancelAnimationFrame(y)}}const ya=(i,t,e)=>{const s=new Map,n={platform:ma,...e},r={...n.platform,_c:s};return Gr(i,t,{...n,platform:r})},ts=i=>i===null?"":i+"",$a=i=>i===null?null:i+"",wa=i=>i===null?0:Number(i),va=i=>i!==null,Ta=()=>null,ka=i=>i===null?[]:JSON.parse(i),Pa=i=>i===null?{}:JSON.parse(i);function Sa(i){if(i===null)return $a;switch(typeof i){case"undefined":return ts;case"string":return ts;case"boolean":return va;case"number":return wa;case"function":return Ta;case"object":return H(i)?ka:Pa;default:return ts}}const $t=Symbol(0),nr=Symbol(0),Lt=Symbol(0),Ct=Symbol(0);function ac(i,t){var e,s,n;const a=class a extends i{constructor(...h){if(super(...h),this[s]=0,this[n]=null,this.keepAlive=!1,this.forwardKeepAlive=!0,this.$=Q(()=>Vr(t),null),this.$.$$.t(this),t.props){const c=this.$props,l=Object.getOwnPropertyDescriptors(this);for(const d of Object.keys(l))d in t.props&&(c[d].set(this[d]),delete this[d])}}static get observedAttributes(){var h;if(!this[$t]&&t.props){const c=new Map;for(const l of Object.keys(t.props)){let d=(h=this.attrs)==null?void 0:h[l],p=v(d)?d:d&&(d==null?void 0:d.attr);p!==!1&&(p||(p=Qn(l)),c.set(p,{C:l,B:d&&!v(d)&&(d==null?void 0:d.converter)||Sa(t.props[l])}))}this[$t]=c}return this[$t]?Array.from(this[$t].keys()):[]}get scope(){return this.$.$$.d}get attachScope(){return this.$.$$.f}get connectScope(){return this.$.$$.g}get $props(){return this.$.$$.i}get $state(){return this.$.$$.h}get state(){return this.$.state}attributeChangedCallback(h,c,l){var f;const d=this.constructor;if(!d[$t]){(f=super.attributeChangedCallback)==null||f.call(this,h,c,l);return}const p=d[$t].get(h);p&&(this[p.C]=p.B(l))}connectedCallback(){var l;const h=(l=this.$)==null?void 0:l.$$;if(!h||h.o)return;if(this[Lt]!==2){Ea.call(this);return}if(!this.isConnected)return;this.hasAttribute("keep-alive")&&(this.keepAlive=!0),h.y(),H(this[Ct])&&Hr(this[Ct],this),this[Ct]=null;const c=super.connectedCallback;c&&Q(()=>c.call(this),this.connectScope)}disconnectedCallback(){var l;const h=(l=this.$)==null?void 0:l.$$;if(!h||h.o)return;h.z();const c=super.disconnectedCallback;c&&c.call(this),!this.keepAlive&&!this.hasAttribute("keep-alive")&&setTimeout(()=>{requestAnimationFrame(()=>{this.isConnected||h.p()})},0)}[(e=$t,s=Lt,n=Ct,nr)](){const h=this.$.$$,c=this.constructor;if(h.o)return;const l=c[$t];if(l)for(const d of this.attributes){let p=l.get(d.name);p&&p.B&&h.i[p.C].set(p.B(this.getAttribute(d.name)))}h.w(),h.x(this),this[Lt]=2,this.connectedCallback()}subscribe(h){return this.$.subscribe(h)}destroy(){this.disconnectedCallback(),this.$.destroy()}};a[e]=null;let r=a;return xa(r,t),r}function xa(i,t){const e=i.prototype,s=t.prototype;if(t.props)for(const n of Object.keys(t.props))Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){return this.$props[n]()},set(r){this.$props[n].set(r)}});if(s[Bt])for(const n of s[Bt])Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){return this.$[n]},set(r){this.$[n]=r}});if(s[Xt])for(const n of s[Xt])e[n]=function(...r){return this.$[n](...r)}}function Ea(){if(this[Lt]!==0)return;this[Lt]=1;const i=Ca(this),t=i&&window.customElements.get(i.localName),e=i&&i[Lt]===2;if(i&&(!t||!e)){Aa.call(this,i);return}rr.call(this,i)}async function Aa(i){await window.customElements.whenDefined(i.localName),i[Lt]!==2&&await new Promise(t=>(i[Ct]??(i[Ct]=[])).push(t)),rr.call(this,i)}function rr(i){if(this.isConnected){if(i){i.keepAlive&&i.forwardKeepAlive&&(this.keepAlive=!0,this.setAttribute("keep-alive",""));const t=this.$.$$.d;t&&i.$.$$.f.append(t)}this[nr]()}}function Ca(i){let t=i.parentNode,e=i.localName.split("-",1)[0]+"-";for(;t;){if(t.nodeType===1&&t.localName.startsWith(e))return t;t=t.parentNode}return null}function oc(i,t=!1){(t||!window.customElements.get(i.tagName))&&window.customElements.define(i.tagName,i)}const Oa=Symbol(0),La=Symbol(0),Ma=Symbol(0),Da=Symbol(0),ja=Symbol(0),Ia=Symbol(0),Ra=Symbol(0),qa=Symbol(0),_a=Symbol(0),L={oa:Oa,Yb:La,H:Ma,pa:Da,Zb:ja,Mc:Ia,ne:Ra,oe:qa,pe:_a},Na=(navigator==null?void 0:navigator.userAgent.toLowerCase())||"",ar=/iphone|ipad|ipod|ios|crios|fxios/i.test(Na),Ui=/(iphone|ipod)/gi.test((navigator==null?void 0:navigator.platform)||""),Fa=!!window.chrome,hc=!!window.safari||ar;function or(){return Va()&&ht(screen.orientation.unlock)}function Va(){return!J(window.screen.orientation)&&!J(window.screen.orientation.lock)}function Ha(i,t){return i||(i=document.createElement("audio")),i.canPlayType(t).length>0}function Ka(i,t){return i||(i=document.createElement("video")),i.canPlayType(t).length>0}function Ua(i){return i||(i=document.createElement("video")),i.canPlayType("application/vnd.apple.mpegurl").length>0}function cc(i){return!!document.pictureInPictureEnabled&&!(i!=null&&i.disablePictureInPicture)}function lc(i){return ht(i==null?void 0:i.webkitSupportsPresentationMode)&&ht(i==null?void 0:i.webkitSetPresentationMode)}async function Wa(){const i=document.createElement("video");return i.volume=.5,await Wr(0),i.volume===.5}function Qa(){return(window==null?void 0:window.ManagedMediaSource)??(window==null?void 0:window.MediaSource)??(window==null?void 0:window.WebKitMediaSource)}function za(){return(window==null?void 0:window.SourceBuffer)??(window==null?void 0:window.WebKitSourceBuffer)}function hr(){const i=Qa();if(J(i))return!1;const t=i&&ht(i.isTypeSupported)&&i.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),e=za(),s=J(e)||!J(e.prototype)&&ht(e.prototype.appendBuffer)&&ht(e.prototype.remove);return!!t&&!!s}class es{get length(){return this.$.length}constructor(t,e){H(t)?this.$=t:!J(t)&&!J(e)?this.$=[[t,e]]:this.$=[]}start(t){return this.$[t][0]??1/0}end(t){return this.$[t][1]??1/0}}function Wi(i){if(!i.length)return null;let t=i.start(0);for(let e=1;et&&(t=s)}return t}function uc(i,t){const e=new URLSearchParams;for(const s of Object.keys(t))e.set(s,t[s]+"");return i+"?"+e.toString()}function le(i,t="preconnect"){const e=document.querySelector(`link[href="${i}"]`);if(!xt(e))return!0;const s=document.createElement("link");return s.rel=t,s.href=i,s.crossOrigin="true",document.head.append(s),!0}const me={};function dc(i){if(me[i])return me[i].promise;const t=hs(),e=document.querySelector(`script[src="${i}"]`);if(!xt(e))return t.resolve(),t.promise;const s=document.createElement("script");return s.src=i,s.onload=()=>{t.resolve(),delete me[i]},s.onerror=()=>{t.reject(),delete me[i]},setTimeout(()=>document.head.append(s),0),t.promise}function Ae(i){return i==="use-credentials"?"include":v(i)?"same-origin":void 0}const Ba=Symbol(0),Xa=Symbol(0),Ya=Symbol(0),Ja=Symbol(0),Ga=Symbol(0),Za=Symbol(0),to=Symbol(0),T={al:Ba,M:Xa,Ta:Ya,P:Ja,Ua:Ga,T:Za,te:to};function ls(i,t){return t>=i.startTime&&tr.includes(o.kind)&&o.mode==="showing");if(a!==s){if(!a){e(null),s=null;return}a.readyState==2?e(a):(e(null),a.addEventListener("load",()=>e(a),{once:!0})),s=a}}return n(),b(i,"mode-change",n)}function pc(i,t,e){Be(i,t,s=>{if(!s){e("");return}const n=()=>{const r=s==null?void 0:s.activeCues[0];e((r==null?void 0:r.text)||"")};n(),b(s,"cue-change",n)})}var Qi,zi,Bi;class us extends Kn{constructor(t){super(),this.id="",this.label="",this.language="",this.default=!1,this.P=!1,this.Va=0,this.I="disabled",this.ue={},this.ac=[],this.J=[],this.Wa=[],this[Qi]=0,this[zi]=null,this[Bi]=null;for(const e of Object.keys(t))this[e]=t[e];this.type||(this.type="vtt"),t.content?st(()=>import("./prod-D24nP0G3.js").then(e=>e.d),__vite__mapDeps([0,1])).then(({parseText:e,VTTCue:s,VTTRegion:n})=>{!v(t.content)||t.type==="json"?(this.ve(t.content,s,n),this.readyState!==3&&this.M()):e(t.content,{type:t.type}).then(({cues:r,regions:a})=>{this.J=r,this.ac=a,this.M()})}):t.src||(this[T.M]=2)}static createId(t){return`id::${t.type}-${t.kind}-${t.src??t.label}`}get metadata(){return this.ue}get regions(){return this.ac}get cues(){return this.J}get activeCues(){return this.Wa}get readyState(){return this[T.M]}get mode(){return this.I}set mode(t){this.setMode(t)}addCue(t,e){var r;let s=0,n=this.J.length;for(s=0;s=0){const r=this.Wa.includes(t);this.J.splice(s,1),(n=this[T.T])==null||n.track.removeCue(t),this.dispatchEvent(new M("remove-cue",{detail:t,trigger:e})),r&&this[T.Ta](this.Va,e)}}setMode(t,e){var s;this.I!==t&&(this.I=t,t==="disabled"?(this.Wa=[],this.we()):this.readyState===2?this[T.Ta](this.Va,e):this.xe(),this.dispatchEvent(new M("mode-change",{detail:this,trigger:e})),(s=this[T.Ua])==null||s.call(this))}[(Qi=T.M,zi=T.Ua,Bi=T.T,T.Ta)](t,e){if(this.Va=t,this.mode==="disabled"||!this.J.length)return;const s=[];for(let r=0,a=this.J.length;r0)){this[T.M]=1,this.dispatchEvent(new M("load-start"));try{const{parseResponse:s,VTTCue:n,VTTRegion:r}=await st(()=>import("./prod-D24nP0G3.js").then(h=>h.d),__vite__mapDeps([0,1])),a=(t=this[T.al])==null?void 0:t.call(this),o=fetch(this.src,{headers:this.type==="json"?{"Content-Type":"application/json"}:void 0,credentials:Ae(a)});if(this.type==="json")this.ve(await(await o).text(),n,r);else{const{errors:h,metadata:c,regions:l,cues:d}=await s(o,{type:this.type,encoding:this.encoding});if(((e=h[0])==null?void 0:e.code)===0)throw h[0];this.ue=c,this.ac=l,this.J=d}this.M()}catch(s){this.ye(s)}}}M(){var e;if(this[T.M]=2,!this.src||this.type!=="vtt"){const s=(e=this[T.T])==null?void 0:e.track;if(s)for(const n of this.J)s.addCue(n)}const t=new M("load");this[T.Ta](this.Va,t),this.dispatchEvent(t)}ye(t){this[T.M]=3,this.dispatchEvent(new M("error",{detail:t}))}ve(t,e,s){try{const{regions:n,cues:r}=so(t,e,s);this.ac=n,this.J=r}catch(n){this.ye(n)}}we(t){this.dispatchEvent(new M("cue-change",{trigger:t}))}}const eo=/captions|subtitles/;function K(i){return eo.test(i.kind)}function so(i,t,e){const s=v(i)?JSON.parse(i):i;let n=[],r=[];return s.regions&&e&&(n=s.regions.map(a=>Object.assign(new e,a))),(s.cues||H(s))&&(r=(H(s)?s:s.cues).filter(a=>ot(a.startTime)&&ot(a.endTime)).map(a=>Object.assign(new t(0,0,""),a))),{regions:n,cues:r}}var Xi;class cr extends Kn{constructor(){super(...arguments),this.r=[],this[Xi]=!1}get length(){return this.r.length}get readonly(){return this[L.Zb]}toArray(){return[...this.r]}[(Xi=L.Zb,Symbol.iterator)](){return this.r.values()}[L.oa](t,e){const s=this.r.length;""+s in this||Object.defineProperty(this,s,{get(){return this.r[s]}}),!this.r.includes(t)&&(this.r.push(t),this.dispatchEvent(new M("add",{detail:t,trigger:e})))}[L.Yb](t,e){var n;const s=this.r.indexOf(t);s>=0&&((n=this[L.oe])==null||n.call(this,t,e),this.r.splice(s,1),this.dispatchEvent(new M("remove",{detail:t,trigger:e})))}[L.H](t){var e;for(const s of[...this.r])this[L.Yb](s,t);this.r=[],this[L.Mc](!1,t),(e=this[L.ne])==null||e.call(this)}[L.Mc](t,e){this[L.Zb]!==t&&(this[L.Zb]=t,this.dispatchEvent(new M("readonly-change",{detail:t,trigger:e})))}}const lr=new It({artist:"",audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,buffered:new es,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:or(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,controlsVisible:!1,crossOrigin:null,ended:!1,error:null,fullscreen:!1,loop:!1,logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new es,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,seekable:new es,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(K).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get realDuration(){return this.providedDuration>0?this.providedDuration:this.intrinsicDuration},get duration(){return this.clipEndTime>0?this.clipEndTime-this.clipStartTime:Math.max(0,this.realDuration-this.clipStartTime)},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return this.providedViewType!=="unknown"?this.providedViewType:this.inferredViewType},get streamType(){return this.providedStreamType!=="unknown"?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){const i=Wi(this.buffered)??0;return Math.max(0,i-this.clipStartTime)},get bufferedEnd(){const i=Ee(this.buffered)??0;return Math.min(this.duration,Math.max(0,i-this.clipStartTime))},get seekableStart(){const i=Wi(this.seekable)??0;return Math.max(0,i-this.clipStartTime)},get seekableEnd(){const i=this.canPlay?Ee(this.seekable)??1/0:0;return this.clipEndTime>0?Math.max(this.clipEndTime,Math.max(0,i-this.clipStartTime)):i},get seekableWindow(){return Math.max(0,this.seekableEnd-this.seekableStart)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return this.remotePlaybackType==="airplay"&&this.remotePlaybackState==="connected"},get isGoogleCastConnected(){return this.remotePlaybackType==="google-cast"&&this.remotePlaybackState==="connected"},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.seekableWindow)&&(!this.live||/:dvr/.test(this.streamType)&&this.seekableWindow>=this.minLiveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.realDuration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,(this.liveSyncPosition??this.seekableEnd)-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null}),io=new Set(["audioTrack","audioTracks","autoPlayError","autoPlaying","autoQuality","buffered","canPlay","ended","error","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","liveSyncPosition","paused","played","playing","qualities","quality","realCurrentTime","seekable","seeking","started","userBehindLiveEdge","waiting"]);function no(i){lr.reset(i,t=>io.has(t)),wt()}const ur=Et();function S(){return I(ur)}function fc(){return S().$state}const dr=Et();function mc(){return I(dr)}const ro={clickToPlay:!0,clickToFullscreen:!0,controls:["play-large","play","progress","current-time","mute+volume","captions","settings","pip","airplay","fullscreen"],customIcons:!1,displayDuration:!1,download:null,markers:null,invertTime:!0,thumbnails:null,toggleTime:!0,translations:null,seekTime:10,speed:[.5,.75,1,1.25,1.5,1.75,2,4]},Bs=class Bs extends ${onSetup(){this.a=S(),it(dr,{...this.$props,previewTime:g(0)})}};Bs.props=ro;let Yi=Bs;function bc(i,t){const{fullscreen:e,canFullscreen:s,canPictureInPicture:n,pictureInPicture:r,hasCaptions:a,textTrack:o,canAirPlay:h,isAirPlayConnected:c,viewType:l,playing:d,paused:p,controlsVisible:f,pointer:y,waiting:x,currentTime:j,poster:O}=t.$state;i.classList.add("plyr"),i.classList.add("plyr--full-ui");const R={"plyr--airplay-active":c,"plyr--airplay-supported":h,"plyr--fullscreen-active":e,"plyr--fullscreen-enabled":s,"plyr--hide-controls":()=>!f(),"plyr--is-touch":()=>y()==="coarse","plyr--loading":x,"plyr--paused":p,"plyr--pip-active":r,"plyr--pip-enabled":n,"plyr--playing":d,"plyr__poster-enabled":O,"plyr--stopped":()=>p()&&j()===0,"plyr--captions-active":o,"plyr--captions-enabled":a},F=Ds();for(const V of Object.keys(R))F.add(u(()=>void i.classList.toggle(V,!!R[V]())));return F.add(u(()=>{const V=`plyr--${l()}`;return i.classList.add(V),()=>i.classList.remove(V)}),u(()=>{var yt;const{$provider:V}=t,q=(yt=V())==null?void 0:yt.type,gt=`plyr--${ao(q)?"html5":q}`;return i.classList.toggle(gt,!!q),()=>i.classList.remove(gt)})),()=>F.empty()}function ao(i){return i==="audio"||i==="video"}function gc(i,t,e){if(i)return b(i,t,e)}function A(i,t,e){i.hasAttribute(t)||i.setAttribute(t,e)}function At(i,t){if(i.hasAttribute("aria-label")||i.hasAttribute("data-no-label"))return;if(!ht(t)){k(i,"aria-label",t);return}function e(){k(i,"aria-label",t())}u(e)}function pr(i,t,e){for(;t;){if(t===i)return!0;if(e!=null&&e(t))break;t=t.parentElement}return!1}function Pt(i,t){b(i,"pointerup",e=>{e.button===0&&t(e)}),b(i,"keydown",e=>{Un(e)&&t(e)})}function qs(i){return $e(i)&&(i.touches.length>1||i.changedTouches.length>1)}function ds(i){let t=Ss(),e=window.requestAnimationFrame(()=>{Q(i,t),e=-1});return()=>void window.cancelAnimationFrame(e)}function yc(i,t,e){let s,n=i,r=i.parentElement,a=i.content.firstElementChild,o=[];!a&&i.firstElementChild&&(i.innerHTML=i.firstElementChild.outerHTML,i.firstElementChild.remove(),a=i.content.firstElementChild);for(let h=0;h{for(let h=0;he.includes("left")?`calc(-1 * ${l})`:l,c=l=>e.includes("top")?`calc(-1 * ${l})`:l;return ga(t,i,()=>{ya(t,i,{placement:o,...a}).then(({x:l,y:d})=>{Object.assign(i.style,{top:`calc(${d+"px"} + ${c(r?r+"px":`var(--${s}-y-offset, 0px)`)})`,left:`calc(${l+"px"} + ${h(n?n+"px":`var(--${s}-x-offset, 0px)`)})`})})})}function oo(i){return getComputedStyle(i).animationName!=="none"}function vc(i){const t=document.createElement("slot");return t.name=i,t}function Tc(i){const t=g(!1);return u(()=>{const e=i();e&&(b(e,"transitionstart",()=>t.set(!0)),b(e,"transitionend",()=>t.set(!1)))}),t}function ho(i,t){function e(){const s=i();if(!s)return;t();const n=new ResizeObserver(Rt(t));return n.observe(s),()=>n.disconnect()}u(e)}function kc(i,t,e){ho(t,()=>{const s=i(),n=t();s&&n&&co(s,n,e)})}function co(i,t,e){const s=t.getBoundingClientRect();for(const n of["top","left","bottom","right"])z(i,`--${e}-${n}`,`${s[n]}px`)}function Pc(i){const t=lo(i),e=uo(i);return vt(()=>t()||e())}function lo(i){const t=g(!1);return u(()=>{const e=i();if(!e){t.set(!1);return}b(e,"mouseenter",()=>t.set(!0)),b(e,"mouseleave",()=>t.set(!1))}),t}function uo(i){const t=g(!1);return u(()=>{const e=i();if(!e){t.set(!1);return}b(e,"focusin",()=>t.set(!0)),b(e,"focusout",()=>t.set(!1))}),t}const po=Symbol(0),fo=Symbol(0),_t={Ya:po,Za:fo};function ss(i){return i instanceof Error?i:Error(JSON.stringify(i))}function dt(i,t){if(!i)throw Error(t||"Assertion failed.")}const mo=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,bo=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp4","audio/webm","audio/flac"]),go=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,yo=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),$o=/\.(m3u8)($|\?)/i,wo=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]);function mr({src:i,type:t}){return v(i)?mo.test(i)||bo.has(t)||i.startsWith("blob:")&&t==="audio/object":t==="audio/object"}function br(i){return v(i.src)?go.test(i.src)||yo.has(i.type)||i.src.startsWith("blob:")&&i.type==="video/object"||Xe(i)&&Ua():i.type==="video/object"}function Xe({src:i,type:t}){return v(i)&&$o.test(i)||wo.has(t)}function vo(i){return v(i.src)&&(mr(i)||br(i)||Xe(i))}function Sc(i){return typeof window.MediaStream<"u"&&i instanceof window.MediaStream}function U(i,t=2){return Number(i.toFixed(t))}function To(i){var t;return((t=String(i).split(".")[1])==null?void 0:t.length)??0}function _s(i,t,e){return Math.max(i,Math.min(e,t))}var X={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},Ji=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],Gi=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],Zi=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],W=typeof window<"u"&&typeof window.document<"u"?window.document:{},Z="fullscreenEnabled"in W&&Object.keys(X)||Ji[0]in W&&Ji||Gi[0]in W&&Gi||Zi[0]in W&&Zi||[],Ot={requestFullscreen:function(i){return i[Z[X.requestFullscreen]]()},requestFullscreenFunction:function(i){return i[Z[X.requestFullscreen]]},get exitFullscreen(){return W[Z[X.exitFullscreen]].bind(W)},get fullscreenPseudoClass(){return":"+Z[X.fullscreen]},addEventListener:function(i,t,e){return W.addEventListener(Z[X[i]],t,e)},removeEventListener:function(i,t,e){return W.removeEventListener(Z[X[i]],t,e)},get fullscreenEnabled(){return!!W[Z[X.fullscreenEnabled]]},set fullscreenEnabled(i){},get fullscreenElement(){return W[Z[X.fullscreenElement]]},set fullscreenElement(i){},get onfullscreenchange(){return W[("on"+Z[X.fullscreenchange]).toLowerCase()]},set onfullscreenchange(i){return W[("on"+Z[X.fullscreenchange]).toLowerCase()]=i},get onfullscreenerror(){return W[("on"+Z[X.fullscreenerror]).toLowerCase()]},set onfullscreenerror(i){return W[("on"+Z[X.fullscreenerror]).toLowerCase()]=i}};const Ce=Ot.fullscreenEnabled;class ko extends at{constructor(){super(...arguments),this.ub=!1,this.Nc=!1}get active(){return this.Nc}get supported(){return Ce}onConnect(){b(Ot,"fullscreenchange",this.Oc.bind(this)),b(Ot,"fullscreenerror",this._b.bind(this)),P(this.ya.bind(this))}async ya(){Ce&&await this.exit()}Oc(t){const e=is(this.el);e!==this.Nc&&(e||(this.ub=!1),this.Nc=e,this.dispatch("fullscreen-change",{detail:e,trigger:t}))}_b(t){this.ub&&(this.dispatch("fullscreen-error",{detail:null,trigger:t}),this.ub=!1)}async enter(){try{return this.ub=!0,!this.el||is(this.el)?void 0:(tn(),Ot.requestFullscreen(this.el))}catch(t){throw this.ub=!1,t}}async exit(){if(!(!this.el||!is(this.el)))return tn(),Ot.exitFullscreen()}}function Po(){return Ce}function is(i){if(Ot.fullscreenElement===i)return!0;try{return i.matches(Ot.fullscreenPseudoClass)}catch{return!1}}function tn(){if(!Ce)throw Error("[vidstack] no fullscreen API")}const De=class De extends at{constructor(){super(...arguments),this.vb=g(this.qe()),this.Ra=g(!1)}get type(){return this.vb()}get locked(){return this.Ra()}get portrait(){return this.vb().startsWith("portrait")}get landscape(){return this.vb().startsWith("landscape")}get supported(){return De.supported}onConnect(){if(this.supported)b(screen.orientation,"change",this.re.bind(this));else{const t=window.matchMedia("(orientation: landscape)");t.onchange=this.re.bind(this),P(()=>t.onchange=null)}P(this.ya.bind(this))}async ya(){this.supported&&this.Ra()&&await this.unlock()}re(t){this.vb.set(this.qe()),this.dispatch("orientation-change",{detail:{orientation:m(this.vb),lock:this.$b},trigger:t})}async lock(t){m(this.Ra)||this.$b===t||(this.se(),await screen.orientation.lock(t),this.Ra.set(!0),this.$b=t)}async unlock(){m(this.Ra)&&(this.se(),this.$b=void 0,await screen.orientation.unlock(),this.Ra.set(!1))}se(){if(!this.supported)throw Error("[vidstack] no orientation API")}qe(){return this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}};De.supported=or();let Oe=De;class So{constructor(t=void 0){this.tb=t,this.A=null,this.aa=null,this.Pc=-1}setTarget(t){this.A=t}getPlayer(t){var e;return this.aa?this.aa:((e=t??this.A)==null||e.dispatchEvent(new M("find-media-player",{detail:s=>void(this.aa=s),bubbles:!0,composed:!0})),this.aa)}setPlayer(t){this.aa=t}startLoading(t){this.s("media-start-loading",t)}startLoadingPoster(t){this.s("media-poster-start-loading",t)}requestAirPlay(t){this.s("media-airplay-request",t)}requestGoogleCast(t){this.s("media-google-cast-request",t)}play(t){this.s("media-play-request",t)}pause(t){this.s("media-pause-request",t)}mute(t){this.s("media-mute-request",t)}unmute(t){this.s("media-unmute-request",t)}enterFullscreen(t,e){this.s("media-enter-fullscreen-request",e,t)}exitFullscreen(t,e){this.s("media-exit-fullscreen-request",e,t)}lockScreenOrientation(t,e){this.s("media-orientation-lock-request",e,t)}unlockScreenOrientation(t){this.s("media-orientation-unlock-request",t)}enterPictureInPicture(t){this.s("media-enter-pip-request",t)}exitPictureInPicture(t){this.s("media-exit-pip-request",t)}seeking(t,e){this.s("media-seeking-request",e,t)}seek(t,e){this.s("media-seek-request",e,t)}seekToLiveEdge(t){this.s("media-live-edge-request",t)}changeVolume(t,e){this.s("media-volume-change-request",e,Math.max(0,Math.min(1,t)))}changeAudioTrack(t,e){this.s("media-audio-track-change-request",e,t)}changeQuality(t,e){this.s("media-quality-change-request",e,t)}requestAutoQuality(t){this.changeQuality(-1,t)}changeTextTrackMode(t,e,s){this.s("media-text-track-change-request",s,{index:t,mode:e})}changePlaybackRate(t,e){this.s("media-rate-change-request",e,t)}resumeControls(t){this.s("media-resume-controls-request",t)}pauseControls(t){this.s("media-pause-controls-request",t)}togglePaused(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.paused?this.play(t):this.pause(t))}toggleControls(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.controls.showing?e.controls.hide(0,t):e.controls.show(0,t))}toggleMuted(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.muted?this.unmute(t):this.mute(t))}toggleFullscreen(t,e){const s=this.getPlayer(e==null?void 0:e.target);s&&(s.state.fullscreen?this.exitFullscreen(t,e):this.enterFullscreen(t,e))}togglePictureInPicture(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.pictureInPicture?this.exitPictureInPicture(t):this.enterPictureInPicture(t))}disableCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;const s=e.state.textTracks,n=e.state.textTrack;if(n){const r=s.indexOf(n);this.changeTextTrackMode(r,"disabled",t)}}toggleCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;const s=e.state.textTracks,n=e.state.textTrack;if(n){const r=s.indexOf(n);this.changeTextTrackMode(r,"disabled",t),this.Pc=r}else{let r=this.Pc;(!s[r]||!K(s[r]))&&(r=-1),r===-1&&(r=s.findIndex(a=>K(a)&&a.default)),r===-1&&(r=s.findIndex(a=>K(a))),r>=0&&this.changeTextTrackMode(r,"showing",t),this.Pc=-1}}s(t,e,s){var o,h;const n=new M(t,{bubbles:!0,composed:!0,cancelable:!0,detail:s,trigger:e});let r=(e==null?void 0:e.target)||null;r&&r instanceof $&&(r=r.el),r=!r||r===document||r===window||r===document.body||((o=this.aa)==null?void 0:o.el)&&r instanceof Node&&!this.aa.el.contains(r)?this.A??((h=this.getPlayer())==null?void 0:h.el):r??this.A,this.aa?t==="media-play-request"&&!this.aa.state.canLoad?r==null||r.dispatchEvent(n):this.aa.canPlayQueue.k(t,()=>r==null?void 0:r.dispatchEvent(n)):r==null||r.dispatchEvent(n)}za(t){}}class qt extends at{}class xo extends qt{constructor(){super(...arguments),this.Qc=-2,this.Xa=!1,this.ze=g(!1),this.Rc=g(!1),this.wb=null,this.defaultDelay=2e3}get hideOnMouseLeave(){const{hideControlsOnMouseLeave:t}=this.$props;return this.ze()||t()}set hideOnMouseLeave(t){this.ze.set(t)}get showing(){return this.$state.controlsVisible()}show(t=0,e){this.Sc(),this.Xa||this.bc(!0,t,e)}hide(t=this.defaultDelay,e){this.Sc(),this.Xa||this.bc(!1,t,e)}pause(t){this.Xa=!0,this.Sc(),this.bc(!0,0,t)}resume(t){this.Xa=!1,!this.$state.paused()&&this.bc(!1,this.defaultDelay,t)}onConnect(){u(this.bg.bind(this)),u(this.Tc.bind(this));const t=this.xb.bind(this),e=this.Aa.bind(this);this.listen("can-play",s=>this.show(0,s)),this.listen("play",t),this.listen("pause",e),this.listen("auto-play-fail",e)}bg(){const{started:t,pointer:e,paused:s}=this.$state;if(!t()||e()!=="fine")return;const n=this.hideOnMouseLeave;(!n||!this.Rc())&&u(()=>{s()||this.listen("pointermove",this.Ae.bind(this))}),n&&(this.listen("mouseenter",this.cg.bind(this)),this.listen("mouseleave",this.dg.bind(this)))}Tc(){const{paused:t,started:e,autoPlayError:s}=this.$state;if(t()||s()&&!e())return;const n=this.Ae.bind(this);u(()=>{const r=this.$state.pointer(),a=r==="coarse",o=[a?"touchend":"pointerup","keydown"];for(const h of o)this.listen(h,n,{passive:!1})})}xb(t){this.show(0,t),this.hide(void 0,t)}Aa(t){this.show(0,t)}cg(t){this.Rc.set(!1),this.show(0,t),this.hide(void 0,t)}dg(t){this.Rc.set(!0),this.hide(0,t)}Sc(){window.clearTimeout(this.Qc),this.Qc=-1}Ae(t){var e;t.MEDIA_GESTURE||this.Xa||qs(t)||(Pe(t)&&(t.key==="Escape"?((e=this.el)==null||e.focus(),this.wb=null):this.wb&&(t.preventDefault(),requestAnimationFrame(()=>{var s;(s=this.wb)==null||s.focus(),this.wb=null}))),this.show(0,t),this.hide(this.defaultDelay,t))}bc(t,e,s){if(e===0){this.B(t,s);return}this.Qc=window.setTimeout(()=>{this.scope&&this.B(t&&!this.Xa,s)},e)}B(t,e){var s;this.$state.controlsVisible()!==t&&(this.$state.controlsVisible.set(t),!t&&document.activeElement&&((s=this.el)!=null&&s.contains(document.activeElement))&&(this.wb=document.activeElement,requestAnimationFrame(()=>{var n;return(n=this.el)==null?void 0:n.focus()})),this.dispatch("controls-change",{detail:t,trigger:e}))}}var ue=Eo;function Eo(i,t,e){var s=null,n=null,r=e&&e.leading,a=e&&e.trailing;r==null&&(r=!0),a==null&&(a=!r),r==!0&&(a=!1);var o=function(){s&&(clearTimeout(s),s=null)},h=function(){var l=n;o(),l&&l()},c=function(){var l=r&&!s,d=this,p=arguments;if(n=function(){return i.apply(d,p)},s||(s=setTimeout(function(){if(s=null,a)return n()},t)),l)return l=!1,n()};return c.cancel=o,c.flush=h,c}class Ao{constructor(){this.playerId="vds-player",this.mediaId=null,this.Qk={volume:null,muted:null,time:null,lang:null,captions:null,rate:null,quality:null},this.saveTime=ue(()=>{if(!this.mediaId)return;const t=(this.Qk.time??0).toString();localStorage.setItem(this.mediaId,t)},1e3)}async getVolume(){return this.Qk.volume}async setVolume(t){this.Qk.volume=t,this.save()}async getMuted(){return this.Qk.muted}async setMuted(t){this.Qk.muted=t,this.save()}async getTime(){return this.Qk.time}async setTime(t){this.Qk.time=t,this.saveTime()}async getLang(){return this.Qk.lang}async setLang(t){this.Qk.lang=t,this.save()}async getCaptions(){return this.Qk.captions}async setCaptions(t){this.Qk.captions=t,this.save()}async getPlaybackRate(){return this.Qk.rate}async setPlaybackRate(t){this.Qk.rate=t,this.save()}async getVideoQuality(){return this.Qk.quality}async setVideoQuality(t){this.Qk.quality=t,this.save()}onChange(t,e,s="vds-player"){const n=s?localStorage.getItem(s):null,r=e?localStorage.getItem(e):null;this.playerId=s,this.mediaId=e,this.Qk={volume:null,muted:null,lang:null,captions:null,rate:null,quality:null,...n?JSON.parse(n):{},time:r?+r:null}}save(){if(!this.playerId)return;const t=JSON.stringify({...this.Qk,time:void 0});localStorage.setItem(this.playerId,t)}}class Co{constructor(){this.priority=0,this.Be=!0,this.m=null,this.z=null,this.yb=new Set}canRender(t,e){return!!e}attach(t){this.m=t,t&&(t.textTracks.onchange=this.B.bind(this))}addTrack(t){this.yb.add(t),this.eg(t)}removeTrack(t){var e,s;(s=(e=t[T.T])==null?void 0:e.remove)==null||s.call(e),t[T.T]=null,this.yb.delete(t)}changeTrack(t){const e=t==null?void 0:t[T.T];e&&e.track.mode!=="showing"&&(e.track.mode="showing"),this.z=t}setDisplay(t){this.Be=t,this.B()}detach(){this.m&&(this.m.textTracks.onchange=null);for(const t of this.yb)this.removeTrack(t);this.yb.clear(),this.m=null,this.z=null}eg(t){var s;if(!this.m)return;const e=t[s=T.T]??(t[s]=this.fg(t));e instanceof HTMLElement&&(this.m.append(e),e.track.mode=e.default?"showing":"hidden")}fg(t){const e=document.createElement("track"),s=t.default||t.mode==="showing",n=t.src&&t.type==="vtt";return e.id=t.id,e.src=n?t.src:"https://cdn.jsdelivr.net/npm/vidstack@next/empty.vtt",e.label=t.label,e.kind=t.kind,e.default=s,t.language&&(e.srclang=t.language),s&&!n&&this.Ce(t,e.track),e}Ce(t,e){var s;if(!(t.src&&t.type==="vtt"||(s=e.cues)!=null&&s.length))for(const n of t.cues)e.addCue(n)}B(t){var e;for(const s of this.yb){const n=(e=s[T.T])==null?void 0:e.track;if(!n)continue;if(!this.Be){n.mode="disabled";continue}const r=n.mode==="showing";r&&this.Ce(s,n),s.setMode(r?"showing":"disabled",t)}}}class Oo{constructor(t){this.a=t,this.m=null,this.cc=[],this.De=!1,this.ba=null,this.Ba=null;const e=t.textTracks;this.Uc=e,u(this.Vc.bind(this)),P(this.Ee.bind(this)),b(e,"add",this.Wc.bind(this)),b(e,"remove",this.gg.bind(this)),b(e,"mode-change",this.ea.bind(this))}Vc(){const{$state:t,$iosControls:e}=this.a;this.De=t.controls()||e(),this.ea()}add(t){this.cc.push(t),this.ea()}remove(t){t.detach(),this.cc.splice(this.cc.indexOf(t),1),this.ea()}Fe(t){requestAnimationFrame(()=>{if(this.m=t,t){this.ba=new Co,this.ba.attach(t);for(const e of this.Uc)this.Ge(e)}this.ea()})}Ge(t){var e;K(t)&&((e=this.ba)==null||e.addTrack(t))}hg(t){var e;K(t)&&((e=this.ba)==null||e.removeTrack(t))}Wc(t){this.Ge(t.detail)}gg(t){this.hg(t.detail)}ea(){var s,n,r,a,o,h,c;const t=this.Uc.selected;if(this.m&&(this.De||t!=null&&t[T.te])){(s=this.Ba)==null||s.changeTrack(null),(n=this.ba)==null||n.setDisplay(!0),(r=this.ba)==null||r.changeTrack(t);return}if((a=this.ba)==null||a.setDisplay(!1),(o=this.ba)==null||o.changeTrack(null),!t){(h=this.Ba)==null||h.changeTrack(null);return}const e=this.cc.sort((l,d)=>l.priority-d.priority).find(l=>l.canRender(t,this.m));this.Ba!==e&&((c=this.Ba)==null||c.detach(),e==null||e.attach(this.m),this.Ba=e??null),e==null||e.changeTrack(t)}Ee(){var t,e;(t=this.ba)==null||t.detach(),this.ba=null,(e=this.Ba)==null||e.detach(),this.Ba=null}}var Ns=Lo;function Lo(i,t,e){var s=null,n=null,r=function(){s&&(clearTimeout(s),n=null,s=null)},a=function(){var h=n;r(),h&&h()},o=function(){if(!t)return i.apply(this,arguments);var h=this,c=arguments,l=e&&!s;if(r(),n=function(){i.apply(h,c)},s=setTimeout(function(){if(s=null,!l){var d=n;return n=null,d()}},t),l)return n()};return o.cancel=r,o.flush=a,o}class Mo extends cr{constructor(){super(),this.P=!1,this.dc={},this.Sk=null,this.Rk=null,this.un=Ns(async()=>{var s;if(!this.P)return;!this.Rk&&this.Sk&&(this.Rk=await this.Sk.getLang());const t=await((s=this.Sk)==null?void 0:s.getCaptions()),e=[["captions","subtitles"],"chapters","descriptions","metadata"];for(const n of e){const r=this.getByKind(n);if(r.find(l=>l.mode==="showing"))continue;const a=this.Rk?r.find(l=>l.language===this.Rk):null,o=H(n)?this.dc[n.find(l=>this.dc[l])||""]:this.dc[n],h=a??o,c=h&&K(h);h&&(!c||t!==!1)&&(h.mode="showing",c&&this.vn(h))}},300),this.Je=this.ig.bind(this)}get selected(){return this.r.find(e=>e.mode==="showing"&&K(e))??null}get preferredLang(){return this.Rk}set preferredLang(t){this.Rk=t,this.tn(t)}add(t,e){const s=t instanceof us,n=s?t:new us(t),r=t.kind==="captions"||t.kind==="subtitles"?"captions":t.kind;return this.dc[r]&&t.default&&delete t.default,n.addEventListener("mode-change",this.Je),this[L.oa](n,e),n[T.al]=this[T.al],this.P&&n[T.P](),t.default&&(this.dc[r]=n),this.un(),this}remove(t,e){if(this.r.includes(t))return t===this.dc[t.kind]&&delete this.dc[t.kind],t.mode="disabled",t[T.Ua]=null,t.removeEventListener("mode-change",this.Je),this[L.Yb](t,e),this}clear(t){for(const e of[...this.r])this.remove(e,t);return this}getById(t){return this.r.find(e=>e.id===t)??null}getByKind(t){const e=Array.isArray(t)?t:[t];return this.r.filter(s=>e.includes(s.kind))}[T.P](){if(!this.P){for(const t of this.r)t[T.P]();this.P=!0,this.un()}}ig(t){const e=t.detail;if(this.Sk&&K(e)&&e.mode!=="disabled"&&this.vn(e),e.mode==="showing"){const s=K(e)?["captions","subtitles"]:[e.kind];for(const n of this.r)n.mode==="showing"&&n!=e&&s.includes(n.kind)&&(n.mode="disabled")}this.dispatchEvent(new M("mode-change",{detail:t.detail,trigger:t}))}vn(t){var e,s;this.tn(t.language),(s=(e=this.Sk)==null?void 0:e.setCaptions)==null||s.call(e,t.mode==="showing")}tn(t){var e,s;(s=(e=this.Sk)==null?void 0:e.setLang)==null||s.call(e,this.Rk=t)}setStorage(t){this.Sk=t}}const zt=Symbol(0);class gr extends cr{get selected(){return this.r.find(t=>t.selected)??null}get selectedIndex(){return this.r.findIndex(t=>t.selected)}[L.oe](t,e){this[L.pa](t,!1,e)}[L.oa](t,e){t[zt]=!1,Object.defineProperty(t,"selected",{get(){return this[zt]},set:s=>{var n;this.readonly||((n=this[L.pe])==null||n.call(this),this[L.pa](t,s))}}),super[L.oa](t,e)}[L.pa](t,e,s){if(e===(t==null?void 0:t[zt]))return;const n=this.selected;t&&(t[zt]=e),(e?n!==t:n===t)&&(n&&(n[zt]=!1),this.dispatchEvent(new M("change",{detail:{prev:n,current:this.selected},trigger:s})))}}class Do extends gr{getById(t){return t===""?null:this.r.find(e=>e.id===t)??null}}class jo extends gr{constructor(){super(...arguments),this.fc=!1,this.switch="current"}get auto(){return this.fc||this.readonly}[L.pe](){this[_t.Ya](!1)}[L.ne](t){this[_t.Ya](!1,t)}autoSelect(t){var e;this.readonly||this.fc||!this[_t.Za]||((e=this[_t.Za])==null||e.call(this),this[_t.Ya](!0,t))}[_t.Ya](t,e){this.fc!==t&&(this.fc=t,this.dispatchEvent(new M("auto-change",{detail:t,trigger:e})))}}function Io(i){return i instanceof HTMLAudioElement}function Ro(i){return i instanceof HTMLVideoElement}function qo(i){return Io(i)||Ro(i)}const _o={togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},en=new Set(["Shift","Alt","Meta","Control"]),No='button, [role="button"]',sn='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';class Fo extends qt{constructor(t){super(),this.a=t,this._a=null}onConnect(){u(this.mg.bind(this))}mg(){const{keyDisabled:t,keyTarget:e}=this.$props;if(t())return;const s=e()==="player"?this.el:document,n=g(!1);s===this.el?(this.listen("focusin",()=>n.set(!0)),this.listen("focusout",r=>{this.el.contains(r.target)||n.set(!1)})):(m(n)||n.set(document.querySelector("[data-media-player]")===this.el),b(document,"focusin",r=>{const a=r.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");a!==void 0&&n.set(this.el===a)})),u(()=>{n()&&(b(s,"keyup",this.zb.bind(this)),b(s,"keydown",this.Ab.bind(this)),b(s,"keydown",this.ng.bind(this),{capture:!0}))})}zb(t){var r,a;const e=document.activeElement;if(!t.key||!this.$state.canSeek()||e!=null&&e.matches(sn))return;let{method:s,value:n}=this.Zc(t);if(!v(n)&&!H(n)){(r=n==null?void 0:n.onKeyUp)==null||r.call(n,{event:t,player:this.a.player,remote:this.a.remote}),(a=n==null?void 0:n.callback)==null||a.call(n,t,this.a.remote);return}if(s!=null&&s.startsWith("seek")&&(t.preventDefault(),t.stopPropagation(),this._a?(this.Ne(t,s==="seekForward"),this._a=null):(this.a.remote.seek(this.gc,t),this.gc=void 0)),s!=null&&s.startsWith("volume")){const o=this.el.querySelector("[data-media-volume-slider]");o==null||o.dispatchEvent(new KeyboardEvent("keyup",{key:s==="volumeUp"?"Up":"Down",shiftKey:t.shiftKey,trigger:t}))}}Ab(t){var a,o,h,c;if(!t.key||en.has(t.key))return;const e=document.activeElement;if(e!=null&&e.matches(sn)||Un(t)&&(e!=null&&e.matches(No)))return;let{method:s,value:n}=this.Zc(t),r=!t.metaKey&&/^[0-9]$/.test(t.key);if(!v(n)&&!H(n)&&!r){(a=n==null?void 0:n.onKeyDown)==null||a.call(n,{event:t,player:this.a.player,remote:this.a.remote}),(o=n==null?void 0:n.callback)==null||o.call(n,t,this.a.remote);return}if(!s&&r){t.preventDefault(),t.stopPropagation(),this.a.remote.seek(this.$state.duration()/10*Number(t.key),t);return}if(s){switch(t.preventDefault(),t.stopPropagation(),s){case"seekForward":case"seekBackward":this.qa(t,s,s==="seekForward");break;case"volumeUp":case"volumeDown":const l=this.el.querySelector("[data-media-volume-slider]");if(l)l.dispatchEvent(new KeyboardEvent("keydown",{key:s==="volumeUp"?"Up":"Down",shiftKey:t.shiftKey,trigger:t}));else{const p=t.shiftKey?.1:.05;this.a.remote.changeVolume(this.$state.volume()+(s==="volumeUp"?+p:-p),t)}break;case"toggleFullscreen":this.a.remote.toggleFullscreen("prefer-media",t);break;case"speedUp":case"slowDown":const d=this.$state.playbackRate();this.a.remote.changePlaybackRate(Math.max(.25,Math.min(2,d+(s==="speedUp"?.25:-.25))),t);break;default:(c=(h=this.a.remote)[s])==null||c.call(h,t)}this.$state.lastKeyboardAction.set({action:s,event:t})}}ng(t){qo(t.target)&&this.Zc(t).method&&t.preventDefault()}Zc(t){const e={...this.$props.keyShortcuts(),...this.a.ariaKeys},s=Object.keys(e).find(n=>{var o;const r=e[n],a=H(r)?r.join(" "):v(r)?r:r==null?void 0:r.keys;return(o=H(a)?a:a==null?void 0:a.split(" "))==null?void 0:o.some(h=>Ho(h).replace(/Control/g,"Ctrl").split("+").every(c=>en.has(c)?t[c.toLowerCase()+"Key"]:t.key===c.replace("Space"," ")))});return{method:s,value:s?e[s]:null}}og(t,e){const s=t.shiftKey?10:5;return this.gc=Math.max(0,Math.min((this.gc??this.$state.currentTime())+(e==="seekForward"?+s:-s),this.$state.duration()))}Ne(t,e){var s;(s=this._a)==null||s.dispatchEvent(new KeyboardEvent(t.type,{key:e?"Right":"Left",shiftKey:t.shiftKey,trigger:t}))}qa(t,e,s){this.$state.canSeek()&&(this._a||(this._a=this.el.querySelector("[data-media-time-slider]")),this._a?this.Ne(t,s):this.a.remote.seeking(this.og(t,e),t))}}const Vo=["!","@","#","$","%","^","&","*","(",")"];function Ho(i){return i.replace(/Shift\+(\d)/g,(t,e)=>Vo[e-1])}class Ko extends at{constructor(t){super(),this._c=t}onAttach(t){const{$props:e,ariaKeys:s}=S(),n=t.getAttribute("aria-keyshortcuts");if(n){s[this._c]=n,P(()=>{delete s[this._c]});return}const r=e.keyShortcuts()[this._c];if(r){const a=H(r)?r.join(" "):v(r)?r:r==null?void 0:r.keys;t.setAttribute("aria-keyshortcuts",H(a)?a.join(" "):a)}}}class Uo{constructor(){this.name="audio"}canPlay(t){return mr(t)?!v(t.src)||t.type==="?"||Ha(this.target,t.type):!1}mediaType(){return"audio"}async load(t){return new(await st(()=>import("./vidstack-audio-BTzunSFq.js"),__vite__mapDeps([2,3,4,1]))).AudioProvider(this.target,t)}}class yr{constructor(){this.name="video"}canPlay(t){return br(t)?!v(t.src)||t.type==="?"||Ka(this.target,t.type):!1}mediaType(){return"video"}async load(t){return new(await st(()=>import("./vidstack-video-BCqt9O7D.js"),__vite__mapDeps([5,3,4,1]))).VideoProvider(this.target,t)}}const je=class je extends yr{constructor(){super(...arguments),this.name="hls"}canPlay(t){return je.supported&&Xe(t)}async load(t){return new(await st(()=>import("./vidstack-hls-Co8nldtG.js"),__vite__mapDeps([6,5,3,4,1]))).HLSProvider(this.target,t)}};je.supported=hr();let ps=je;class Wo{constructor(){this.name="vimeo"}preconnect(){const t=["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"];for(const e of t)le(e)}canPlay(t){return v(t.src)&&t.type==="video/vimeo"}mediaType(){return"video"}async load(t){return new(await st(()=>import("./vidstack-vimeo-wbNE0q10.js"),__vite__mapDeps([7,4,8,9,1]))).VimeoProvider(this.target,t)}async loadPoster(t,e,s){const{resolveVimeoVideoId:n,getVimeoVideoInfo:r}=await st(()=>import("./vidstack-BTBUzdbF-Cao5mZMB.js"),__vite__mapDeps([]));if(!v(t.src))return null;const{videoId:a}=n(t.src);return a?r(a,s).then(o=>o?o.poster:null):null}}class Qo{constructor(){this.name="youtube"}preconnect(){const t=["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"];for(const e of t)le(e)}canPlay(t){return v(t.src)&&t.type==="video/youtube"}mediaType(){return"video"}async load(t){return new(await st(()=>import("./vidstack-youtube-BJp_k-du.js"),__vite__mapDeps([10,8,11,1]))).YouTubeProvider(this.target,t)}async loadPoster(t,e,s){const{findYouTubePoster:n,resolveYouTubeVideoId:r}=await st(()=>import("./vidstack-DscYSLiW-CA6XwpqT.js"),__vite__mapDeps([])),a=v(t.src)&&r(t.src);return a?n(a,s):null}}const ns=Symbol(0),zo=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],Bo={artist:"",autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:_o,storage:null};class nn extends qt{constructor(t,e){super(),this.vb=t,this.Ca=e}async onAttach(t){const e=this.$props[this.vb]();if(e==="eager")requestAnimationFrame(this.Ca);else if(e==="idle")zr(this.Ca);else if(e==="visible"){let s,n=new IntersectionObserver(r=>{this.scope&&r[0].isIntersecting&&(s==null||s(),s=void 0,this.Ca())});n.observe(t),s=P(()=>n.disconnect())}}}class Xo{constructor(t,e){this.X=t,this.a=e,this.c=(s,...n)=>{this.X(new M(s,{detail:n==null?void 0:n[0],trigger:n==null?void 0:n[1]}))}}async jc(t,e){return In(async()=>{var xi,Ei,Ai,Ci,Oi,Li;this.a;const{autoPlay:s,canPlay:n,started:r,duration:a,seekable:o,buffered:h,remotePlaybackInfo:c,playsInline:l}=this.a.$state;if(n())return;const d={duration:(t==null?void 0:t.duration)??a(),seekable:(t==null?void 0:t.seekable)??o(),buffered:(t==null?void 0:t.buffered)??h(),provider:this.a.$provider()};this.c("can-play",d,e),wt();let p=this.a.$provider(),{storage:f,qualities:y}=this.a,{muted:x,volume:j,clipStartTime:O,playbackRate:R}=this.a.$props;const F=(Ei=(xi=c())==null?void 0:xi.savedState)==null?void 0:Ei.currentTime,V=((Ci=(Ai=c())==null?void 0:Ai.savedState)==null?void 0:Ci.paused)===!1,q=F??await(f==null?void 0:f.getTime())??O(),gt=V||s();p&&(p.setVolume(await(f==null?void 0:f.getVolume())??j()),p.setMuted(await(f==null?void 0:f.getMuted())??x()),(Oi=p.setPlaybackRate)==null||Oi.call(p,await(f==null?void 0:f.getPlaybackRate())??R()),(Li=p.setPlaysInline)==null||Li.call(p,l()),q>0&&p.setCurrentTime(q));const yt=await(f==null?void 0:f.getVideoQuality());if(yt&&y.length){let Ge=null,Mi=1/0;for(const pe of y){const Di=Math.abs(yt.width-pe.width)+Math.abs(yt.height-pe.height)+(yt.bitrate?Math.abs(yt.bitrate-pe.bitrate):0);Di0&&this.jf()}ra(){this.Mb=!1}H(){this.ra(),this.e.clear(),this.kf()}jf(){for(const t of this.e.keys())this.td(t);this.kf()}kf(){this.Ed.resolve(),this.Ed=hs()}}class Jo extends qt{constructor(t,e,s){super(),this.ga=t,this.f=e,this.a=s,this.vk=new $r,this.vd=!1,this.uk=s.$provider,this.Ib=new xo,this.rc=new ko,this.ta=new Oe}onAttach(){this.listen("fullscreen-change",this.Oc.bind(this))}onConnect(){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),e=this.qh.bind(this);for(const s of t)s.startsWith("media-")&&this.listen(s,e);this.Mk(),u(this.wk.bind(this)),u(this.rh.bind(this)),u(this.ll.bind(this)),u(this.Ll.bind(this)),u(this.sh.bind(this)),u(this.th.bind(this))}onDestroy(){this.vk.H()}Mk(){const{load:t}=this.$props,{canLoad:e}=this.$state;if(t()!=="play"||e())return;const s=this.listen("media-play-request",n=>{this.Lk(n),s()})}wk(){const t=this.uk(),e=this.$state.canPlay();return t&&e&&this.vk.Bb(),()=>{this.vk.ra()}}qh(t){t.stopPropagation(),!t.defaultPrevented&&this[t.type]&&(m(this.uk)?this[t.type](t):this.vk.k(t.type,()=>{m(this.uk)&&this[t.type](t)}))}async sc(t){const{canPlay:e,paused:s,autoPlaying:n}=this.$state;if(!this.Lk(t)&&m(s)){t&&this.f.e.k("media-play-request",t);try{const r=m(this.uk);return rs(r,m(e)),await r.play()}catch(r){const a=this.createEvent("play-fail",{detail:ss(r),trigger:t});throw a.autoPlay=n(),this.ga.X(a),r}}}Lk(t){const{load:e}=this.$props,{canLoad:s}=this.$state;if(e()==="play"&&!s()){const n=this.createEvent("media-start-loading",{trigger:t});return this.dispatchEvent(n),this.vk.k("media-play-request",async()=>{try{await this.sc(n)}catch{}}),!0}return!1}async ud(t){const{canPlay:e,paused:s}=this.$state;if(!m(s)){t&&this.f.e.k("media-pause-request",t);try{const n=m(this.uk);return rs(n,m(e)),await n.pause()}catch(n){throw this.f.e.qc("media-pause-request"),n}}}Ze(t){const{canPlay:e,live:s,liveEdge:n,canSeek:r,liveSyncPosition:a,seekableEnd:o,userBehindLiveEdge:h}=this.$state;if(h.set(!1),m(()=>!s()||n()||!r()))return;const c=m(this.uk);rs(c,m(e)),t&&this.f.e.k("media-seek-request",t);const l=o()-2;c.setCurrentTime(Math.min(l,a()??l))}async _e(t="prefer-media",e){const s=this.$e(t);if(rn(t,s),!s.active)return m(this.$state.pictureInPicture)&&(this.vd=!0,await this.wd(e)),e&&this.f.e.k("media-enter-fullscreen-request",e),s.enter()}async af(t="prefer-media",e){const s=this.$e(t);if(rn(t,s),!!s.active){e&&this.f.e.k("media-exit-fullscreen-request",e);try{const n=await s.exit();return this.vd&&m(this.$state.canPictureInPicture)&&await this.xd(),n}finally{this.vd=!1}}}$e(t){const e=m(this.uk);return t==="prefer-media"&&this.rc.supported||t==="media"?this.rc:e==null?void 0:e.fullscreen}async xd(t){if(this.bf(),!this.$state.pictureInPicture())return t&&this.f.e.k("media-enter-pip-request",t),await this.uk().pictureInPicture.enter()}async wd(t){if(this.bf(),!!this.$state.pictureInPicture())return t&&this.f.e.k("media-exit-pip-request",t),await this.uk().pictureInPicture.exit()}bf(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}rh(){this.Ib.defaultDelay=this.$props.controlsDelay()}ll(){var s,n;const{canAirPlay:t}=this.$state,e=!!((n=(s=this.uk())==null?void 0:s.airPlay)!=null&&n.supported);t.set(e)}Ll(){const{canGoogleCast:t,source:e}=this.$state,s=Fa&&!ar&&vo(e());t.set(s)}sh(){var s,n;const{canFullscreen:t}=this.$state,e=this.rc.supported||!!((n=(s=this.uk())==null?void 0:s.fullscreen)!=null&&n.supported);t.set(e)}th(){var s,n;const{canPictureInPicture:t}=this.$state,e=!!((n=(s=this.uk())==null?void 0:s.pictureInPicture)!=null&&n.supported);t.set(e)}async"media-airplay-request"(t){try{await this.ol(t)}catch{}}async ol(t){var e;try{const s=(e=this.uk())==null?void 0:e.airPlay;if(!(s!=null&&s.supported))throw Error("No AirPlay adapter.");return t&&this.f.e.k("media-airplay-request",t),await s.prompt()}catch(s){throw this.f.e.qc("media-airplay-request"),s}}async"media-google-cast-request"(t){try{await this.ul(t)}catch{}}async ul(t){try{const{canGoogleCast:e}=this.$state;if(!m(e))throw new Error("Cast not available.");if(le("https://www.gstatic.com"),!this.om){const n=await st(()=>import("./vidstack-6eBVBXTk-b4tLqLdz.js").then(r=>r.v),__vite__mapDeps([12,1]));this.om=new n.GoogleCastLoader}await this.om.prompt(this.a),t&&this.f.e.k("media-google-cast-request",t);const s=m(this.$state.remotePlaybackState)!=="disconnected";s&&this.$state.remotePlaybackInfo.set(n=>({...n,savedState:{paused:m(this.$state.paused),currentTime:m(this.$state.currentTime)}})),this.$state.remotePlaybackLoader.set(s?this.om:null)}catch(e){throw this.f.e.qc("media-google-cast-request"),e}}"media-audio-track-change-request"(t){const{logger:e,audioTracks:s}=this.a;if(s.readonly)return;const n=t.detail,r=s[n];if(r){const a=t.type;this.f.e.k(a,t),r.selected=!0}}async"media-enter-fullscreen-request"(t){try{await this._e(t.detail,t)}catch(e){this._b(e,t)}}async"media-exit-fullscreen-request"(t){try{await this.af(t.detail,t)}catch(e){this._b(e,t)}}async Oc(t){const e=m(this.$props.fullscreenOrientation),s=t.detail;if(!(J(e)||!this.ta.supported))if(s){if(this.ta.locked)return;this.dispatch("media-orientation-lock-request",{detail:e,trigger:t})}else this.ta.locked&&this.dispatch("media-orientation-unlock-request",{trigger:t})}_b(t,e){this.ga.X(this.createEvent("fullscreen-error",{detail:ss(t)}))}async"media-orientation-lock-request"(t){const e=t.type;try{this.f.e.k(e,t),await this.ta.lock(t.detail)}catch{this.f.e.qc(e)}}async"media-orientation-unlock-request"(t){const e=t.type;try{this.f.e.k(e,t),await this.ta.unlock()}catch{this.f.e.qc(e)}}async"media-enter-pip-request"(t){try{await this.xd(t)}catch(e){this.cf(e,t)}}async"media-exit-pip-request"(t){try{await this.wd(t)}catch(e){this.cf(e,t)}}cf(t,e){this.ga.X(this.createEvent("picture-in-picture-error",{detail:ss(t)}))}"media-live-edge-request"(t){const{live:e,liveEdge:s,canSeek:n}=this.$state;if(!(!e()||s()||!n())){this.f.e.k("media-seek-request",t);try{this.Ze()}catch{this.f.e.qc("media-seek-request")}}}async"media-loop-request"(t){try{this.f.Ha=!0,this.f.gb=!0,await this.sc(t)}catch{this.f.Ha=!1}}async"media-pause-request"(t){if(!this.$state.paused())try{await this.ud(t)}catch{}}async"media-play-request"(t){if(this.$state.paused())try{await this.sc(t)}catch{}}"media-rate-change-request"(t){const{playbackRate:e,canSetPlaybackRate:s}=this.$state;if(e()===t.detail||!s())return;const n=this.uk();n!=null&&n.setPlaybackRate&&(this.f.e.k("media-rate-change-request",t),n.setPlaybackRate(t.detail))}"media-quality-change-request"(t){var a,o;const{qualities:e,storage:s,logger:n}=this.a;if(e.readonly)return;this.f.e.k("media-quality-change-request",t);const r=t.detail;if(r<0)e.autoSelect(t),t.isOriginTrusted&&((a=s==null?void 0:s.setVideoQuality)==null||a.call(s,null));else{const h=e[r];h&&(h.selected=!0,t.isOriginTrusted&&((o=s==null?void 0:s.setVideoQuality)==null||o.call(s,{id:h.id,width:h.width,height:h.height,bitrate:h.bitrate})))}}"media-pause-controls-request"(t){const e=t.type;this.f.e.k(e,t),this.Ib.pause(t)}"media-resume-controls-request"(t){const e=t.type;this.f.e.k(e,t),this.Ib.resume(t)}"media-seek-request"(t){const{seekableStart:e,seekableEnd:s,ended:n,canSeek:r,live:a,userBehindLiveEdge:o,clipStartTime:h}=this.$state;n()&&(this.f.gb=!0);const c=t.type;this.f.qa=!1,this.f.e.qc(c);const l=Math.min(Math.max(e()+.1,t.detail+h()),s()-.1);!Number.isFinite(l)||!r()||(this.f.e.k(c,t),this.uk().setCurrentTime(l),a()&&t.isOriginTrusted&&Math.abs(s()-l)>=2&&o.set(!0))}"media-seeking-request"(t){const e=t.type;this.f.e.k(e,t),this.$state.seeking.set(!0),this.f.qa=!0}"media-start-loading"(t){if(this.$state.canLoad())return;const e=t.type;this.f.e.k(e,t),this.ga.X(this.createEvent("can-load"))}"media-poster-start-loading"(t){if(this.$state.canLoadPoster())return;const e=t.type;this.f.e.k(e,t),this.ga.X(this.createEvent("can-load-poster"))}"media-text-track-change-request"(t){const{index:e,mode:s}=t.detail,n=this.a.textTracks[e];if(n){const r=t.type;this.f.e.k(r,t),n.setMode(s,t)}}"media-mute-request"(t){if(this.$state.muted())return;const e=t.type;this.f.e.k(e,t),this.uk().setMuted(!0)}"media-unmute-request"(t){const{muted:e,volume:s}=this.$state;if(!e())return;const n=t.type;this.f.e.k(n,t),this.a.$provider().setMuted(!1),s()===0&&(this.f.e.k(n,t),this.uk().setVolume(.25))}"media-volume-change-request"(t){const{muted:e,volume:s}=this.$state,n=t.detail;if(s()===n)return;const r=t.type;this.f.e.k(r,t),this.uk().setVolume(n),n>0&&e()&&(this.f.e.k(r,t),this.uk().setMuted(!1))}ql(t,e,s){}}function rs(i,t){if(!(i&&t))throw Error("[vidstack] media not ready")}function rn(i,t){if(!(t!=null&&t.supported))throw Error("[vidstack] no fullscreen support")}class Go{constructor(){this.qa=!1,this.Ha=!1,this.gb=!1,this.e=new Yo}}const Zo=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);class th extends qt{constructor(t,e){super(),this.f=t,this.a=e,this.p=new Map,this.Kk=!1,this.tc=!1,this.Jb=!1,this.seeking=ue(s=>{const{seeking:n,realCurrentTime:r,paused:a}=this.$state;n.set(!0),r.set(s.detail),this.F("media-seeking-request",s),a()&&(this.hb=s,this.zd())},150,{leading:!0}),this.zd=Ns(()=>{if(!this.hb)return;this.tc=!0;const{waiting:s,playing:n}=this.$state;s.set(!0),n.set(!1);const r=this.createEvent("waiting",{trigger:this.hb});this.p.set("waiting",r),this.dispatch(r),this.hb=void 0,this.tc=!1},300)}onAttach(t){t.setAttribute("aria-busy","true"),this.listen("fullscreen-change",this["fullscreen-change"].bind(this)),this.listen("fullscreen-error",this["fullscreen-error"].bind(this)),this.listen("orientation-change",this["orientation-change"].bind(this))}onConnect(t){u(this.nm.bind(this)),this.uh(),this.vh(),this.wh(),this.xh(),P(this.yh.bind(this))}X(t){var s;if(!this.scope)return;const e=t.type;(s=this[t.type])==null||s.call(this,t),Zo.has(e)&&this.p.set(e,t),this.dispatch(t)}xh(){this.Jb&&(requestAnimationFrame(()=>{this.scope&&this.a.remote.play(new M("dom-connect"))}),this.Jb=!1)}yh(){var t;this.Jb||(this.Jb=!this.a.$state.paused(),(t=this.a.$provider())==null||t.pause())}ib(){this.df(),this.Kk=!1,this.f.gb=!1,this.f.Ha=!1,this.tc=!1,this.hb=void 0,this.p.clear()}F(t,e){const s=this.f.e.td(t);s&&(e.request=s,e.triggers.add(s))}uh(){this.yd(),this.ef();const t=this.a.textTracks;b(t,"add",this.yd.bind(this)),b(t,"remove",this.yd.bind(this)),b(t,"mode-change",this.ef.bind(this))}vh(){const t=this.a.qualities;b(t,"add",this.pc.bind(this)),b(t,"remove",this.pc.bind(this)),b(t,"change",this.fb.bind(this)),b(t,"auto-change",this.zh.bind(this)),b(t,"readonly-change",this.Ah.bind(this))}wh(){const t=this.a.audioTracks;b(t,"add",this.ff.bind(this)),b(t,"remove",this.ff.bind(this)),b(t,"change",this.Bh.bind(this))}yd(t){const{textTracks:e}=this.$state;e.set(this.a.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:e(),trigger:t})}ef(t){t&&this.F("media-text-track-change-request",t);const e=this.a.textTracks.selected,{textTrack:s}=this.$state;s()!==e&&(s.set(e),this.dispatch("text-track-change",{detail:e,trigger:t}))}ff(t){const{audioTracks:e}=this.$state;e.set(this.a.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:e(),trigger:t})}Bh(t){const{audioTrack:e}=this.$state;e.set(this.a.audioTracks.selected),t&&this.F("media-audio-track-change-request",t),this.dispatch("audio-track-change",{detail:e(),trigger:t})}pc(t){const{qualities:e}=this.$state;e.set(this.a.qualities.toArray()),this.dispatch("qualities-change",{detail:e(),trigger:t})}fb(t){const{quality:e}=this.$state;e.set(this.a.qualities.selected),t&&this.F("media-quality-change-request",t),this.dispatch("quality-change",{detail:e(),trigger:t})}zh(){this.$state.autoQuality.set(this.a.qualities.auto)}Ah(){this.$state.canSetQuality.set(!this.a.qualities.readonly)}nm(){const{canSetVolume:t,isGoogleCastConnected:e}=this.$state;if(e()){t.set(!1);return}Wa().then(t.set)}"provider-change"(t){var n,r;const e=this.a.$provider(),s=t.detail;(e==null?void 0:e.type)!==(s==null?void 0:s.type)&&((n=e==null?void 0:e.destroy)==null||n.call(e),(r=e==null?void 0:e.scope)==null||r.dispose(),this.a.$provider.set(t.detail),e&&t.detail===null&&this.gf(t))}"provider-loader-change"(t){}"auto-play"(t){this.$state.autoPlayError.set(null)}"auto-play-fail"(t){this.$state.autoPlayError.set(t.detail),this.ib()}"can-load"(t){this.$state.canLoad.set(!0),this.p.set("can-load",t),this.a.textTracks[T.P](),this.F("media-start-loading",t)}"can-load-poster"(t){this.$state.canLoadPoster.set(!0),this.p.set("can-load-poster",t),this.F("media-poster-start-loading",t)}"media-type-change"(t){const e=this.p.get("source-change");e&&t.triggers.add(e);const s=this.$state.viewType();this.$state.mediaType.set(t.detail);const n=this.$state.providedViewType(),r=n==="unknown"?t.detail:n;s!==r&&setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(t.detail),this.dispatch("view-type-change",{detail:r,trigger:t}))})},0)}"stream-type-change"(t){const e=this.p.get("source-change");e&&t.triggers.add(e);const{streamType:s,inferredStreamType:n}=this.$state;n.set(t.detail),t.detail=s()}"rate-change"(t){var n;const{storage:e}=this.a,{canPlay:s}=this.$state;this.$state.playbackRate.set(t.detail),this.F("media-rate-change-request",t),s()&&((n=e==null?void 0:e.setPlaybackRate)==null||n.call(e,t.detail))}"remote-playback-change"(t){const{remotePlaybackState:e,remotePlaybackType:s}=this.$state,{type:n,state:r}=t.detail,a=r==="connected";s.set(n),e.set(r);const o=n==="airplay"?"media-airplay-request":"media-google-cast-request";if(a)this.F(o,t);else{const h=this.f.e.kl(o);h&&(t.request=h,t.triggers.add(h))}}"sources-change"(t){this.$state.sources.set(t.detail)}"source-change"(t){var s;const e=this.p.get("sources-change");e&&t.triggers.add(e),this.gf(t),this.p.set(t.type,t),this.$state.source.set(t.detail),(s=this.el)==null||s.setAttribute("aria-busy","true")}gf(t){this.a.audioTracks[L.H](t),this.a.qualities[L.H](t),this.ib(),no(this.a.$state)}abort(t){const e=this.p.get("source-change");e&&t.triggers.add(e);const s=this.p.get("can-load");s&&!t.triggers.hasType("can-load")&&t.triggers.add(s)}"load-start"(t){const e=this.p.get("source-change");e&&t.triggers.add(e)}error(t){this.$state.error.set(t.detail);const e=this.p.get("abort");e&&t.triggers.add(e)}"loaded-metadata"(t){const e=this.p.get("load-start");e&&t.triggers.add(e)}"loaded-data"(t){const e=this.p.get("load-start");e&&t.triggers.add(e)}"can-play"(t){var s;const e=this.p.get("loaded-metadata");e&&t.triggers.add(e),this.hf(t.detail),(s=this.el)==null||s.setAttribute("aria-busy","false")}"can-play-through"(t){this.hf(t.detail);const e=this.p.get("can-play");e&&t.triggers.add(e)}hf(t){const{seekable:e,buffered:s,intrinsicDuration:n,canPlay:r}=this.$state;r.set(!0),s.set(t.buffered),e.set(t.seekable);const a=Ee(t.seekable)??1/0;n.set(a)}"duration-change"(t){const{live:e,intrinsicDuration:s}=this.$state,n=t.detail;e()||s.set(Number.isNaN(n)?0:n)}progress(t){const{buffered:e,seekable:s,live:n,intrinsicDuration:r}=this.$state,a=t.detail;if(e.set(a.buffered),s.set(a.seekable),n()){const o=Ee(a.seekable)??1/0;r.set(o),this.dispatch("duration-change",{detail:o,trigger:t})}}play(t){const{paused:e,autoPlayError:s,ended:n,autoPlaying:r,playsInline:a,pointer:o,muted:h,viewType:c,live:l,userBehindLiveEdge:d}=this.$state;if(this.Gk(),!e()){t.stopImmediatePropagation();return}t.autoPlay=r();const p=this.p.get("waiting");p&&t.triggers.add(p),this.F("media-play-request",t),this.p.set("play",t),e.set(!1),s.set(null),t.autoPlay&&(this.X(this.createEvent("auto-play",{detail:{muted:h()},trigger:t})),r.set(!1)),(n()||this.f.gb)&&(this.f.gb=!1,n.set(!1),this.X(this.createEvent("replay",{trigger:t}))),!a()&&c()==="video"&&o()==="coarse"&&this.a.remote.enterFullscreen("prefer-media",t),l()&&!d()&&this.a.remote.seekToLiveEdge(t)}Gk(t){if(!m(this.a.$provider))return;const{ended:s,seekableStart:n,clipStartTime:r,clipEndTime:a,realCurrentTime:o,duration:h}=this.$state,c=o()0&&o()>=a()||Math.abs(o()-h())<.1||s();return c&&this.dispatch("media-seek-request",{detail:(r()>0?0:n())+.1,trigger:t}),c}"play-fail"(t){const{muted:e,autoPlaying:s}=this.$state,n=this.p.get("play");n&&t.triggers.add(n),this.F("media-play-request",t);const{paused:r,playing:a}=this.$state;r.set(!0),a.set(!1),this.ib(),this.p.set("play-fail",t),t.autoPlay&&(this.X(this.createEvent("auto-play-fail",{detail:{muted:e(),error:t.detail},trigger:t})),s.set(!1))}playing(t){const e=this.p.get("play"),s=this.p.get("seeked");e?t.triggers.add(e):s&&t.triggers.add(s),setTimeout(()=>this.ib(),0);const{paused:n,playing:r,live:a,liveSyncPosition:o,seekableEnd:h,started:c,currentTime:l,seeking:d,ended:p}=this.$state;if(n.set(!1),r.set(!0),d.set(!1),p.set(!1),this.f.Ha){this.f.Ha=!1;return}if(a()&&!c()&&l()===0){const f=o()??h()-2;Number.isFinite(f)&&this.a.$provider().setCurrentTime(f)}this.started(t)}started(t){const{started:e}=this.$state;e()||(e.set(!0),this.X(this.createEvent("started",{trigger:t})))}pause(t){var r;(r=this.el)!=null&&r.isConnected||(this.Jb=!0),this.F("media-pause-request",t);const e=this.p.get("seeked");e&&t.triggers.add(e);const{paused:s,playing:n}=this.$state;s.set(!0),n.set(!1),this.Kk&&setTimeout(()=>{this.X(this.createEvent("end",{trigger:t})),this.Kk=!1},0),this.ib()}"time-update"(t){if(this.f.Ha){t.stopImmediatePropagation();return}const{realCurrentTime:e,played:s,waiting:n,clipEndTime:r}=this.$state,a=r(),o=t.detail;e.set(o.currentTime),s.set(o.played),n.set(!1);for(const h of this.a.textTracks)h[T.Ta](o.currentTime,t);a>0&&o.currentTime>=a&&(this.Kk=!0,this.dispatch("media-pause-request",{trigger:t})),this.Nk()}Nk(){var n;const{storage:t}=this.a,{canPlay:e,realCurrentTime:s}=this.$state;e()&&((n=t==null?void 0:t.setTime)==null||n.call(t,s()))}"volume-change"(t){var o,h;const{storage:e}=this.a,{volume:s,muted:n,canPlay:r}=this.$state,a=t.detail;s.set(a.volume),n.set(a.muted||a.volume===0),this.F("media-volume-change-request",t),this.F(a.muted?"media-mute-request":"media-unmute-request",t),r()&&((o=e==null?void 0:e.setVolume)==null||o.call(e,s()),(h=e==null?void 0:e.setMuted)==null||h.call(e,n()))}seeked(t){const{seeking:e,currentTime:s,realCurrentTime:n,paused:r,duration:a,ended:o}=this.$state;if(this.f.qa)e.set(!0),t.stopImmediatePropagation();else if(e()){const h=this.p.get("waiting");h&&t.triggers.add(h);const c=this.p.get("seeking");c&&!t.triggers.has(c)&&t.triggers.add(c),r()&&this.df(),e.set(!1),t.detail!==a()&&o.set(!1),n.set(t.detail),this.F("media-seek-request",t);const l=t==null?void 0:t.originEvent;l!=null&&l.isTrusted&&!/seek/.test(l.type)&&this.started(t)}Math.abs(a()-s())>=.1&&o.set(!1)}waiting(t){this.tc||this.f.qa||(t.stopImmediatePropagation(),this.hb=t,this.zd())}end(t){const{loop:e}=this.$state;if(e()){setTimeout(()=>{requestAnimationFrame(()=>{this.dispatch("media-loop-request",{trigger:t})})},10);return}this.Db(t)}Db(t){const{paused:e,seeking:s,ended:n,duration:r}=this.$state;e()||this.dispatch("pause",{trigger:t}),s()&&this.dispatch("seeked",{detail:r(),trigger:t}),n.set(!0),this.ib(),this.dispatch("ended",{trigger:t})}df(){this.zd.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(t){const e=t.detail;this.$state.fullscreen.set(e),this.F(e?"media-enter-fullscreen-request":"media-exit-fullscreen-request",t)}"fullscreen-error"(t){this.F("media-enter-fullscreen-request",t),this.F("media-exit-fullscreen-request",t)}"orientation-change"(t){const e=t.detail.lock;this.F(e?"media-orientation-lock-request":"media-orientation-unlock-request",t)}"picture-in-picture-change"(t){const e=t.detail;this.$state.pictureInPicture.set(e),this.F(e?"media-enter-pip-request":"media-exit-pip-request",t)}"picture-in-picture-error"(t){this.F("media-enter-pip-request",t),this.F("media-exit-pip-request",t)}"title-change"(t){t.trigger&&(t.stopImmediatePropagation(),this.$state.inferredTitle.set(t.detail))}"poster-change"(t){t.trigger&&(t.stopImmediatePropagation(),this.$state.inferredPoster.set(t.detail))}}class eh extends qt{onSetup(){this.Ch(),u(this.Om.bind(this)),u(this.Fh.bind(this)),u(this.Ek.bind(this)),u(this.Vc.bind(this)),u(this.Hh.bind(this)),u(this.pn.bind(this)),u(this.Jh.bind(this)),u(this.Kh.bind(this)),u(this.Ih.bind(this)),u(this.Gh.bind(this)),u(this.Vm.bind(this)),u(this.ld.bind(this)),u(this.Eh.bind(this)),u(this.uc.bind(this))}Ch(){var s;const t={duration:"providedDuration",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},e=new Set(["currentTime","paused","playbackRate","volume"]);for(const n of Object.keys(this.$props))e.has(n)||(s=this.$state[t[n]??n])==null||s.set(this.$props[n]());this.$state.muted.set(this.$props.muted()||this.$props.volume()===0)}Eh(){const{viewType:t,streamType:e,title:s,poster:n}=this.$props;this.$state.providedPoster.set(n()),this.$state.providedStreamType.set(e()),this.$state.providedViewType.set(t()),this.$state.providedTitle.set(s())}Dh(){}Om(){const{artist:t}=this.$props;this.$state.artist.set(t())}uc(){const{title:t}=this.$state;this.dispatch("title-change",{detail:t()})}Fh(){const t=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(t),this.dispatch("auto-play-change",{detail:t})}Gh(){const t=this.$props.loop();this.$state.loop.set(t),this.dispatch("loop-change",{detail:t})}Vc(){const t=this.$props.controls();this.$state.controls.set(t)}ld(){const{poster:t}=this.$state;this.dispatch("poster-change",{detail:t()})}Hh(){const t=this.$props.crossOrigin()??this.$props.crossorigin(),e=t===!0?"":t;this.$state.crossOrigin.set(e)}pn(){const{providedDuration:t}=this.$state;t.set(this.$props.duration())}Vm(){const t=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(t),this.dispatch("plays-inline-change",{detail:t})}Ek(){const{clipStartTime:t,clipEndTime:e}=this.$props;this.$state.clipStartTime.set(t()),this.$state.clipEndTime.set(e())}Jh(){this.dispatch("live-change",{detail:this.$state.live()})}Ih(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}Kh(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}}const Jt=class Jt extends qt{constructor(){super()}onConnect(){u(this.Pm.bind(this)),u(this.Qm.bind(this));const t=this.Rm.bind(this);for(const e of Jt.Nm)navigator.mediaSession.setActionHandler(e,t);P(this.ya.bind(this))}ya(){for(const t of Jt.Nm)navigator.mediaSession.setActionHandler(t,null)}Pm(){const{title:t,artist:e,poster:s}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:t(),artist:e(),artwork:[{src:s()}]})}Qm(){const{canPlay:t,paused:e}=this.$state;navigator.mediaSession.playbackState=t()?e()?"paused":"playing":"none"}Rm(t){const e=new M("media-session-action",{detail:t});switch(t.action){case"play":this.dispatch("media-play-request",{trigger:e});break;case"pause":this.dispatch("media-pause-request",{trigger:e});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:ot(t.seekTime)?t.seekTime:this.$state.currentTime()+(t.seekOffset??10),trigger:e});break}}};Jt.Nm=["play","pause","seekforward","seekbackward","seekto"];let fs=Jt,Le=g(!1);b(document,"pointerdown",()=>{Le.set(!1)}),b(document,"keydown",i=>{i.metaKey||i.altKey||i.ctrlKey||Le.set(!0)});class ut extends at{constructor(){super(...arguments),this.Kb=g(!1)}onConnect(t){u(()=>{if(!Le()){this.Kb.set(!1),be(t,!1),this.listen("pointerenter",this.Cd.bind(this)),this.listen("pointerleave",this.Dd.bind(this));return}const e=document.activeElement===t;this.Kb.set(e),be(t,e),this.listen("focus",this.Lb.bind(this)),this.listen("blur",this.Nh.bind(this))})}focused(){return this.Kb()}Lb(){this.Kb.set(!0),be(this.el,!0)}Nh(){this.Kb.set(!1),be(this.el,!1)}Cd(){an(this.el,!0)}Dd(){an(this.el,!1)}}function be(i,t){k(i,"data-focus",t),k(i,"data-hocus",t)}function an(i,t){k(i,"data-hocus",t),k(i,"data-hover",t)}var sh=Object.defineProperty,ih=Object.getOwnPropertyDescriptor,C=(i,t,e,s)=>{for(var n=s>1?void 0:s?ih(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&sh(t,e,n),n},ft;const E=(ft=class extends ${constructor(){super(),this.canPlayQueue=new $r,this.wc=!1,new eh;const t={player:this,qualities:new jo,audioTracks:new Do,storage:null,$provider:g(null),$providerSetup:g(!1),$props:this.$props,$state:this.$state};t.remote=new So(void 0),t.remote.setPlayer(this),t.$iosControls=vt(this.Oh.bind(this)),t.textTracks=new Mo,t.textTracks[T.al]=this.$state.crossOrigin,t.textRenderers=new Oo(t),t.ariaKeys={},this.a=t,it(ur,t),this.orientation=new Oe,new ut,new Fo(t);const e=new Go;this.ga=new th(e,t),this.Y=new Jo(this.ga,e,t),t.delegate=new Xo(this.ga.X.bind(this.ga),t),new fs,new nn("load",this.startLoading.bind(this)),new nn("posterLoad",this.startLoadingPoster.bind(this))}get i(){return this.a.$provider()}get sn(){return this.$props}onSetup(){this.Ph(),u(this.Qh.bind(this)),u(this.Rh.bind(this)),u(this.Tc.bind(this)),u(this.Fd.bind(this)),u(this.jb.bind(this)),u(this.Vm.bind(this)),u(this.Sh.bind(this))}onAttach(t){t.setAttribute("data-media-player",""),A(t,"tabindex","0"),A(t,"role","region"),u(this.Tm.bind(this)),u(this.uc.bind(this)),u(this.lf.bind(this)),b(t,"find-media-player",this.Th.bind(this))}onConnect(t){Ui&&k(t,"data-iphone","");const e=window.matchMedia("(pointer: coarse)");this.mf(e),e.onchange=this.mf.bind(this);const s=new ResizeObserver(Rt(this.O.bind(this)));s.observe(t),u(this.O.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),P(()=>{s.disconnect(),e.onchange=null})}onDestroy(){this.a.player=null,this.canPlayQueue.H()}uc(){const t=this.$el,{title:e,live:s,viewType:n,providedTitle:r}=this.$state,a=s(),o=Ur(n()),h=o!=="Unknown"?`${a?"Live ":""}${o}`:a?"Live":"Media",c=e();k(this.el,"aria-label",c?`${h} - ${c}`:h+" Player"),t!=null&&t.hasAttribute("title")&&(this.wc=!0,t==null||t.removeAttribute("title"))}lf(){const t=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(t),k(this.el,"data-orientation",t),this.O()}Qh(){this.$state.canPlay()&&this.i?this.canPlayQueue.Bb():this.canPlayQueue.ra()}Ph(){if(ft[ns]){this.setAttributes(ft[ns]);return}const t={"data-load":function(){return this.$props.load()},"data-captions":function(){const s=this.$state.textTrack();return!!s&&K(s)},"data-ios-controls":function(){return this.a.$iosControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){const{canLoad:s,canPlay:n,waiting:r}=this.$state;return s()&&(!n()||r())},"data-error":function(){const{error:s}=this.$state;return!!s()},"data-autoplay-error":function(){const{autoPlayError:s}=this.$state;return!!s()}},e={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(const s of zo){const n="data-"+(e[s]??Qn(s));t[n]=function(){return this.$state[s]()}}delete t.title,ft[ns]=t,this.setAttributes(t)}Th(t){t.detail(this)}O(){if(!this.el)return;const t=this.el.clientWidth,e=this.el.clientHeight;this.$state.width.set(t),this.$state.height.set(e),z(this.el,"--player-width",t+"px"),z(this.el,"--player-height",e+"px")}mf(t){const e=t.matches?"coarse":"fine";k(this.el,"data-pointer",e),this.$state.pointer.set(e),this.O()}Oh(){const{playsInline:t,fullscreen:e}=this.$state;return Ui&&!Po()&&this.$state.mediaType()==="video"&&(!t()||e())}get provider(){return this.i}get controls(){return this.Y.Ib}set controls(t){this.sn.controls.set(t)}get title(){return m(this.$state.providedTitle)}set title(t){if(this.wc){this.wc=!1;return}this.$state.providedTitle.set(t)}get qualities(){return this.a.qualities}get audioTracks(){return this.a.audioTracks}get textTracks(){return this.a.textTracks}get textRenderers(){return this.a.textRenderers}get duration(){return this.$state.duration()}set duration(t){this.sn.duration.set(t)}get paused(){return m(this.$state.paused)}set paused(t){this.nf(t)}Tc(){this.nf(this.$props.paused())}nf(t){t?this.canPlayQueue.k("paused",()=>this.Y.ud()):this.canPlayQueue.k("paused",()=>this.Y.sc())}get muted(){return m(this.$state.muted)}set muted(t){this.sn.muted.set(t)}Rh(){this.Uh(this.$props.muted())}Uh(t){this.canPlayQueue.k("muted",()=>{this.i&&this.i.setMuted(t)})}get currentTime(){return m(this.$state.currentTime)}set currentTime(t){this.of(t)}jb(){this.of(this.$props.currentTime())}of(t){this.canPlayQueue.k("currentTime",()=>{const{currentTime:e,clipStartTime:s,seekableStart:n,seekableEnd:r}=this.$state;t!==m(e)&&m(()=>{if(!this.i)return;const a=Math.min(Math.max(n()+.1,t+s()),r()-.1);Number.isFinite(a)&&this.i.setCurrentTime(a)})})}get volume(){return m(this.$state.volume)}set volume(t){this.sn.volume.set(t)}Fd(){this.Vh(this.$props.volume())}Vh(t){const e=_s(0,t,1);this.canPlayQueue.k("volume",()=>{this.i&&this.i.setVolume(e)})}get playbackRate(){return m(this.$state.playbackRate)}set playbackRate(t){this.pf(t)}Sh(){this.pf(this.$props.playbackRate())}pf(t){this.canPlayQueue.k("rate",()=>{var e,s;this.i&&((s=(e=this.i).setPlaybackRate)==null||s.call(e,t))})}Vm(){this.Wm(this.$props.playsInline())}Wm(t){this.canPlayQueue.k("playsinline",()=>{var e,s;this.i&&((s=(e=this.i).setPlaysInline)==null||s.call(e,t))})}Tm(){var s;let t=this.$props.storage(),e=v(t)?new Ao:t;if(e!=null&&e.onChange){const{source:n}=this.$state,r=v(t)?t:(s=this.el)==null?void 0:s.id,a=vt(this.Um.bind(this));u(()=>e.onChange(n(),a(),r))}this.a.storage=e,this.a.textTracks.setStorage(e),P(()=>{var n;(n=e==null?void 0:e.onDestroy)==null||n.call(e),this.a.storage=null,this.a.textTracks.setStorage(null)})}Um(){const{clipStartTime:t,clipEndTime:e}=this.$props,{source:s}=this.$state,n=s();return n.src?`${n.src}:${t()}:${e()}`:null}async play(t){return this.Y.sc(t)}async pause(t){return this.Y.ud(t)}async enterFullscreen(t,e){return this.Y._e(t,e)}async exitFullscreen(t,e){return this.Y.af(t,e)}enterPictureInPicture(t){return this.Y.xd(t)}exitPictureInPicture(t){return this.Y.wd(t)}seekToLiveEdge(t){this.Y.Ze(t)}startLoading(t){this.a.delegate.c("can-load",void 0,t)}startLoadingPoster(t){this.a.delegate.c("can-load-poster",void 0,t)}requestAirPlay(t){return this.Y.ol(t)}requestGoogleCast(t){return this.Y.ul(t)}destroy(){this.a.remote.setPlayer(null),this.dispatch("destroy")}},ft.props=Bo,ft.state=lr,ft);C([w],E.prototype,"canPlayQueue",2);C([w],E.prototype,"provider",1);C([w],E.prototype,"controls",1);C([w],E.prototype,"orientation",2);C([w],E.prototype,"title",1);C([w],E.prototype,"qualities",1);C([w],E.prototype,"audioTracks",1);C([w],E.prototype,"textTracks",1);C([w],E.prototype,"textRenderers",1);C([w],E.prototype,"duration",1);C([w],E.prototype,"paused",1);C([w],E.prototype,"muted",1);C([w],E.prototype,"currentTime",1);C([w],E.prototype,"volume",1);C([w],E.prototype,"playbackRate",1);C([D],E.prototype,"play",1);C([D],E.prototype,"pause",1);C([D],E.prototype,"enterFullscreen",1);C([D],E.prototype,"exitFullscreen",1);C([D],E.prototype,"enterPictureInPicture",1);C([D],E.prototype,"exitPictureInPicture",1);C([D],E.prototype,"seekToLiveEdge",1);C([D],E.prototype,"startLoading",1);C([D],E.prototype,"startLoadingPoster",1);C([D],E.prototype,"requestAirPlay",1);C([D],E.prototype,"requestGoogleCast",1);let xc=E;function wr(i,t){return fetch(i,t).then(e=>e.text()).then(e=>{const s=nh(e);if(s)return wr(/^https?:/.test(s)?s:new URL(s,i).href,t);const n=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(e)?"on-demand":"live";return n==="live"&&rh(e)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(e)||e.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":n})}function nh(i){const t=i.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return t?t[0].split(` +import{_ as st}from"./app-BoGlXVck.js";const et=Symbol(0);let Te=!1,os=!1,rt=null,Ft=null,tt=null,Y=0,Nt=[],Ps={};const Sr=()=>{},Wt=0,Dn=1,Gt=2,Ke=3;function xr(){Te=!0,queueMicrotask(jn)}function jn(){if(!Nt.length){Te=!1;return}os=!0;for(let i=0;i=0;e--)Ls(t[e])}function Ar(i){const t=ke();return he(t,i.length?i.bind(null,oe.bind(t)):i,null)}function m(i){return he(rt,i,null)}function In(i){return he(null,i,null)}function wt(){os||jn()}function Ss(){return rt}function Q(i,t){try{return he(t,i,null)}catch(e){xs(t,e);return}}function Rn(i,t=rt){return t==null?void 0:t.$cx[i]}function Cr(i,t,e=rt){e&&(e.$cx={...e.$cx,[i]:t})}function P(i){if(!i||!rt)return i||Sr;const t=rt;return t.$d?Array.isArray(t.$d)?t.$d.push(i):t.$d=[t.$d,i]:t.$d=i,function(){t.$st!==Ke&&(i.call(null),Ue(t.$d)?t.$d=null:Array.isArray(t.$d)&&t.$d.splice(t.$d.indexOf(i),1))}}function oe(i=!0){if(this.$st===Ke)return;let t=i?this.$ps||this[et]:this,e=this.$ns,s=null;for(;e&&e[et]===this;)oe.call(e,!0),ji(e),s=e.$ns,e.$ns=null,e=s;i&&ji(this),e&&(e.$ps=i?this.$ps:this),t&&(t.$ns=e)}function ji(i){i.$st=Ke,i.$d&&qn(i),i.$s&&ye(i,0),i.$ps&&(i.$ps.$ns=null),i[et]=null,i.$s=null,i.$o=null,i.$ps=null,i.$cx=Ps,i.$eh=null}function qn(i){try{if(Array.isArray(i.$d))for(let t=i.$d.length-1;t>=0;t--){const e=i.$d[t];e.call(e)}else i.$d.call(i.$d);i.$d=null}catch(t){xs(i,t)}}function he(i,t,e){const s=rt,n=Ft;rt=i,Ft=e;try{return t.call(i)}finally{rt=s,Ft=n}}function xs(i,t){if(!i||!i.$eh)throw t;let e=0,s=i.$eh.length,n=Ii(t);for(e=0;e0){i.$s.length=Y+tt.length;for(let r=0;r=t)&&(i.$e&&i.$st===Wt&&(Nt.push(i),Te||xr()),i.$st=t,i.$o))for(let e=0;e"u"}function tc(i){return xt(i)||J(i)}function Lr(i){return(i==null?void 0:i.constructor)===Object}function ot(i){return typeof i=="number"&&!Number.isNaN(i)}function v(i){return typeof i=="string"}function ec(i){return typeof i=="boolean"}function ht(i){return typeof i=="function"}function H(i){return Array.isArray(i)}var qi;const Mr=Event,Hn=Symbol("DOM_EVENT");class M extends Mr{constructor(t,...e){var n,r;super(t,e[0]),this[qi]=!0,this.triggers=new Dr,this.detail=(n=e[0])==null?void 0:n.detail;const s=(r=e[0])==null?void 0:r.trigger;s&&this.triggers.add(s)}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){var t;return((t=this.triggers.origin)==null?void 0:t.isTrusted)??!1}}qi=Hn;class Dr{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(t){this.chain.push(t),jr(t)&&this.chain.push(...t.triggers)}remove(t){return this.chain.splice(this.chain.indexOf(t),1)[0]}has(t){return this.chain.some(e=>e===t)}hasType(t){return!!this.findType(t)}findType(t){return this.chain.find(e=>e.type===t)}walk(t){for(const e of this.chain){const s=t(e);if(s)return[e,s]}}[Symbol.iterator](){return this.chain.values()}}function jr(i){return!!(i!=null&&i[Hn])}class Kn extends EventTarget{addEventListener(t,e,s){return super.addEventListener(t,e,s)}removeEventListener(t,e,s){return super.removeEventListener(t,e,s)}}function b(i,t,e,s){return i.addEventListener(t,e,s),P(()=>i.removeEventListener(t,e,s))}function _i(i){return!!(i!=null&&i.type.startsWith("pointer"))}function $e(i){return!!(i!=null&&i.type.startsWith("touch"))}function Ir(i){return/^(click|mouse)/.test((i==null?void 0:i.type)??"")}function Pe(i){return!!(i!=null&&i.type.startsWith("key"))}function Un(i){return Pe(i)&&(i.key==="Enter"||i.key===" ")}function k(i,t,e){if(i)if(!e&&e!==""&&e!==0)i.removeAttribute(t);else{const s=e===!0?"":e+"";i.getAttribute(t)!==s&&i.setAttribute(t,s)}else return}function z(i,t,e){if(i)!e&&e!==0?i.style.removeProperty(t):i.style.setProperty(t,e+"");else return}function sc(i,t,e){i.classList[e?"add":"remove"](t)}function g(i,t){const e=Os(i,null,t),s=Es.bind(e);return s[et]=!0,s.set=_n.bind(e),s}function Rr(i){return Ue(i)&&et in i}function vt(i,t){const e=Os(t==null?void 0:t.initial,i,t),s=Es.bind(e);return s[et]=!0,s}function qr(i,t){const e=Os(null,function(){let n=i();return Ue(n)&&P(n),null},void 0);return e.$e=!0,Fn(e),oe.bind(e,!0)}function _r(i){return Rr(i)&&"set"in i}const u=qr;function Et(i){return{id:Symbol(),provide:i}}function it(i,t,e=Ss()){var n;const s=!J(t);Cr(i.id,s?t:(n=i.provide)==null?void 0:n.call(i),e)}function I(i){return Rn(i.id)}function lt(i){return!J(Rn(i.id))}const Bt=Symbol(0),Xt=Symbol(0),Wn=Symbol(0);var Ni;const Ze={};class Nr{constructor(t,e,s){var a;this[Ni]=null,this.$el=g(null),this.a=null,this.d=null,this.f=null,this.g=null,this.e=null,this.o=!1,this.i=Ze,this.b=null,this.c=null,this.l=[],this.m=[],this.j=[],this.n=[],this.d=e,s!=null&&s.scope&&s.scope.append(e);let n=t.state,r=t.props;if(n&&(this.h=n.create(),this.k=new Proxy(this.h,{get:(o,h)=>this.h[h]()}),it(n,this.h)),r&&(this.i=Fr(r),s!=null&&s.props))for(const o of Object.keys(s.props))(a=this.i[o])==null||a.set(s.props[o]);P(this.p.bind(this))}w(){Q(()=>{for(const t of this.l)t()},this.d)}x(t){this.a||(this.a=t,this.$el.set(t),Q(()=>{this.f=ke(),Q(()=>{for(const e of this.m)e(this.a);this.q(),this.r()},this.f)},this.d),t.dispatchEvent(new Event("attached")))}s(){var t;(t=this.f)==null||t.dispose(),this.f=null,this.g=null,this.a=null,this.$el.set(null)}y(){!this.a||!this.f||!this.j.length||Q(()=>{this.g=ke(),Q(()=>{for(const t of this.j)t(this.a)},this.g)},this.f)}z(){var t;(t=this.g)==null||t.dispose(),this.g=null}p(){if(this.o)return;this.o=!0,Q(()=>{for(const e of this.n)e(this.a)},this.d);const t=this.a;this.s(),this.d.dispose(),this.l.length=0,this.m.length=0,this.j.length=0,this.n.length=0,this.e=null,this.b=null,this.c=null,this.i=Ze,this.d=null,this.k=Ze,this.h=null,t&&delete t.$}t(t){t.onSetup&&this.l.push(t.onSetup.bind(t)),t.onAttach&&this.m.push(t.onAttach.bind(t)),t.onConnect&&this.j.push(t.onConnect.bind(t)),t.onDestroy&&this.n.push(t.onDestroy.bind(t))}q(){if(this.b)for(const t of Object.keys(this.b))ht(this.b[t])?u(this.u.bind(this,t)):k(this.a,t,this.b[t])}r(){if(this.c)for(const t of Object.keys(this.c))ht(this.c[t])?u(this.v.bind(this,t)):z(this.a,t,this.c[t])}u(t){k(this.a,t,this.b[t].call(this.e))}v(t){z(this.a,t,this.c[t].call(this.e))}}Ni=Wn;function Fr(i){const t={};for(const e of Object.keys(i)){const s=i[e];t[e]=g(s,s)}return t}let Yt={$$:null};function Vr(i,t){return Ar(()=>{Yt.$$=new Nr(i,Ss(),t);const e=new i;return Yt.$$.e=e,Yt.$$=null,e})}class at extends EventTarget{constructor(){super(),Yt.$$&&this.attach(Yt)}get el(){return this.$$.a}get $el(){return this.$$.$el()}get scope(){return this.$$.d}get attachScope(){return this.$$.f}get connectScope(){return this.$$.g}get $props(){return this.$$.i}get $state(){return this.$$.h}get state(){return this.$$.k}attach({$$:t}){return this.$$=t,t.t(this),this}addEventListener(t,e,s){this.listen(t,e,s)}removeEventListener(t,e,s){var n;(n=this.el)==null||n.removeEventListener(t,e,s)}setAttributes(t){this.$$.b||(this.$$.b={}),Object.assign(this.$$.b,t)}setStyles(t){this.$$.c||(this.$$.c={}),Object.assign(this.$$.c,t)}setCSSVars(t){this.setStyles(t)}createEvent(t,...e){return new M(t,e[0])}dispatch(t,...e){if(!this.el)return!1;const s=t instanceof Event?t:new M(t,e[0]);return Object.defineProperty(s,"target",{get:()=>this.$$.e}),In(()=>{var n,r;return(r=(n=this.$$)[Wn])==null||r.call(n,s),this.el.dispatchEvent(s)})}dispatchEvent(t){return this.dispatch(t)}listen(t,e,s){return this.el?b(this.el,t,e,s):Ms}}class $ extends at{subscribe(t){return Q(()=>u(()=>t(this.state)),this.$$.d)}destroy(){this.$$.p()}}function w(i,t,e){i[Bt]||(i[Bt]=new Set),i[Bt].add(t)}function D(i,t,e){i[Xt]||(i[Xt]=new Set),i[Xt].add(t)}class It{constructor(t){this.id=Symbol(0),this.record=t,this.A=Object.getOwnPropertyDescriptors(t)}create(){const t={},e=new Proxy(t,{get:(s,n)=>t[n]()});for(const s of Object.keys(this.record)){const n=this.A[s].get;t[s]=n?vt(n.bind(e)):g(this.record[s])}return t}reset(t,e){for(const s of Object.keys(t))!this.A[s].get&&(!e||e(s))&&t[s].set(this.record[s])}}function We(i){return I(i)}function Hr(i,t){for(const e of i)e(t)}function Qn(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Kr(i){return i.replace(/-./g,t=>t[1].toUpperCase())}function Ur(i){return i.charAt(0).toUpperCase()+i.slice(1)}function ic(i){return ht(i)?i():i}function Se(i){return i?"true":"false"}function Ds(){const i=new Set;return{add(...t){for(const e of t)i.add(e)},empty(){for(const t of i)t();i.clear()}}}function nc(){const i=Ds();return P(i.empty),i}function rc(i){return Object.keys(i)}function hs(){let i,t;return{promise:new Promise((s,n)=>{i=s,t=n}),resolve:i,reject:t}}function Wr(i){return new Promise(t=>setTimeout(t,i))}function Rt(i){let t=-1,e;function s(...n){e=n,!(t>=0)&&(t=window.requestAnimationFrame(()=>{i.apply(this,e),t=-1,e=void 0}))}return s}const Qr=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:i=>window.setTimeout(i,1):Ms;function zr(i,t){return new Promise(e=>{Qr(s=>{i==null||i(s),e()},t)})}const cs=Math.min,Vt=Math.max,xe=Math.round,fe=Math.floor,Tt=i=>({x:i,y:i});function zn(i){return i.split("-")[0]}function Br(i){return i.split("-")[1]}function Xr(i){return i==="x"?"y":"x"}function Yr(i){return i==="y"?"height":"width"}function Bn(i){return["top","bottom"].includes(zn(i))?"y":"x"}function Jr(i){return Xr(Bn(i))}function Xn(i){return{...i,top:i.y,left:i.x,right:i.x+i.width,bottom:i.y+i.height}}function Fi(i,t,e){let{reference:s,floating:n}=i;const r=Bn(t),a=Jr(t),o=Yr(a),h=zn(t),c=r==="y",l=s.x+s.width/2-n.width/2,d=s.y+s.height/2-n.height/2,p=s[o]/2-n[o]/2;let f;switch(h){case"top":f={x:l,y:s.y-n.height};break;case"bottom":f={x:l,y:s.y+s.height};break;case"right":f={x:s.x+s.width,y:d};break;case"left":f={x:s.x-n.width,y:d};break;default:f={x:s.x,y:s.y}}switch(Br(t)){case"start":f[a]-=p*(e&&c?-1:1);break;case"end":f[a]+=p*(e&&c?-1:1);break}return f}const Gr=async(i,t,e)=>{const{placement:s="bottom",strategy:n="absolute",middleware:r=[],platform:a}=e,o=r.filter(Boolean),h=await(a.isRTL==null?void 0:a.isRTL(t));let c=await a.getElementRects({reference:i,floating:t,strategy:n}),{x:l,y:d}=Fi(c,s,h),p=s,f={},y=0;for(let x=0;x"u"?!1:i instanceof ShadowRoot||i instanceof G(i).ShadowRoot}function ce(i){const{overflow:t,overflowX:e,overflowY:s,display:n}=nt(i);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!["inline","contents"].includes(n)}function Zr(i){return["table","td","th"].includes(kt(i))}function js(i){const t=Is(),e=nt(i);return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||["transform","perspective","filter"].some(s=>(e.willChange||"").includes(s))||["paint","layout","strict","content"].some(s=>(e.contain||"").includes(s))}function ta(i){let t=Kt(i);for(;ct(t)&&!Qe(t);){if(js(t))return t;t=Kt(t)}return null}function Is(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Qe(i){return["html","body","#document"].includes(kt(i))}function nt(i){return G(i).getComputedStyle(i)}function ze(i){return mt(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:{scrollLeft:i.pageXOffset,scrollTop:i.pageYOffset}}function Kt(i){if(kt(i)==="html")return i;const t=i.assignedSlot||i.parentNode||Vi(i)&&i.host||bt(i);return Vi(t)?t.host:t}function Jn(i){const t=Kt(i);return Qe(t)?i.ownerDocument?i.ownerDocument.body:i.body:ct(t)&&ce(t)?t:Jn(t)}function Zt(i,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);const n=Jn(i),r=n===((s=i.ownerDocument)==null?void 0:s.body),a=G(n);return r?t.concat(a,a.visualViewport||[],ce(n)?n:[],a.frameElement&&e?Zt(a.frameElement):[]):t.concat(n,Zt(n,[],e))}function Gn(i){const t=nt(i);let e=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const n=ct(i),r=n?i.offsetWidth:e,a=n?i.offsetHeight:s,o=xe(e)!==r||xe(s)!==a;return o&&(e=r,s=a),{width:e,height:s,$:o}}function Rs(i){return mt(i)?i:i.contextElement}function Ht(i){const t=Rs(i);if(!ct(t))return Tt(1);const e=t.getBoundingClientRect(),{width:s,height:n,$:r}=Gn(t);let a=(r?xe(e.width):e.width)/s,o=(r?xe(e.height):e.height)/n;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}const ea=Tt(0);function Zn(i){const t=G(i);return!Is()||!t.visualViewport?ea:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sa(i,t,e){return t===void 0&&(t=!1),!e||t&&e!==G(i)?!1:t}function Mt(i,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);const n=i.getBoundingClientRect(),r=Rs(i);let a=Tt(1);t&&(s?mt(s)&&(a=Ht(s)):a=Ht(i));const o=sa(r,e,s)?Zn(r):Tt(0);let h=(n.left+o.x)/a.x,c=(n.top+o.y)/a.y,l=n.width/a.x,d=n.height/a.y;if(r){const p=G(r),f=s&&mt(s)?G(s):s;let y=p,x=y.frameElement;for(;x&&s&&f!==y;){const j=Ht(x),O=x.getBoundingClientRect(),R=nt(x),F=O.left+(x.clientLeft+parseFloat(R.paddingLeft))*j.x,V=O.top+(x.clientTop+parseFloat(R.paddingTop))*j.y;h*=j.x,c*=j.y,l*=j.x,d*=j.y,h+=F,c+=V,y=G(x),x=y.frameElement}}return Xn({width:l,height:d,x:h,y:c})}const ia=[":popover-open",":modal"];function tr(i){return ia.some(t=>{try{return i.matches(t)}catch{return!1}})}function na(i){let{elements:t,rect:e,offsetParent:s,strategy:n}=i;const r=n==="fixed",a=bt(s),o=t?tr(t.floating):!1;if(s===a||o&&r)return e;let h={scrollLeft:0,scrollTop:0},c=Tt(1);const l=Tt(0),d=ct(s);if((d||!d&&!r)&&((kt(s)!=="body"||ce(a))&&(h=ze(s)),ct(s))){const p=Mt(s);c=Ht(s),l.x=p.x+s.clientLeft,l.y=p.y+s.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-h.scrollLeft*c.x+l.x,y:e.y*c.y-h.scrollTop*c.y+l.y}}function ra(i){return Array.from(i.getClientRects())}function er(i){return Mt(bt(i)).left+ze(i).scrollLeft}function aa(i){const t=bt(i),e=ze(i),s=i.ownerDocument.body,n=Vt(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),r=Vt(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let a=-e.scrollLeft+er(i);const o=-e.scrollTop;return nt(s).direction==="rtl"&&(a+=Vt(t.clientWidth,s.clientWidth)-n),{width:n,height:r,x:a,y:o}}function oa(i,t){const e=G(i),s=bt(i),n=e.visualViewport;let r=s.clientWidth,a=s.clientHeight,o=0,h=0;if(n){r=n.width,a=n.height;const c=Is();(!c||c&&t==="fixed")&&(o=n.offsetLeft,h=n.offsetTop)}return{width:r,height:a,x:o,y:h}}function ha(i,t){const e=Mt(i,!0,t==="fixed"),s=e.top+i.clientTop,n=e.left+i.clientLeft,r=ct(i)?Ht(i):Tt(1),a=i.clientWidth*r.x,o=i.clientHeight*r.y,h=n*r.x,c=s*r.y;return{width:a,height:o,x:h,y:c}}function Hi(i,t,e){let s;if(t==="viewport")s=oa(i,e);else if(t==="document")s=aa(bt(i));else if(mt(t))s=ha(t,e);else{const n=Zn(i);s={...t,x:t.x-n.x,y:t.y-n.y}}return Xn(s)}function sr(i,t){const e=Kt(i);return e===t||!mt(e)||Qe(e)?!1:nt(e).position==="fixed"||sr(e,t)}function ca(i,t){const e=t.get(i);if(e)return e;let s=Zt(i,[],!1).filter(o=>mt(o)&&kt(o)!=="body"),n=null;const r=nt(i).position==="fixed";let a=r?Kt(i):i;for(;mt(a)&&!Qe(a);){const o=nt(a),h=js(a);!h&&o.position==="fixed"&&(n=null),(r?!h&&!n:!h&&o.position==="static"&&!!n&&["absolute","fixed"].includes(n.position)||ce(a)&&!h&&sr(i,a))?s=s.filter(l=>l!==a):n=o,a=Kt(a)}return t.set(i,s),s}function la(i){let{element:t,boundary:e,rootBoundary:s,strategy:n}=i;const a=[...e==="clippingAncestors"?ca(t,this._c):[].concat(e),s],o=a[0],h=a.reduce((c,l)=>{const d=Hi(t,l,n);return c.top=Vt(d.top,c.top),c.right=cs(d.right,c.right),c.bottom=cs(d.bottom,c.bottom),c.left=Vt(d.left,c.left),c},Hi(t,o,n));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}}function ua(i){const{width:t,height:e}=Gn(i);return{width:t,height:e}}function da(i,t,e){const s=ct(t),n=bt(t),r=e==="fixed",a=Mt(i,!0,r,t);let o={scrollLeft:0,scrollTop:0};const h=Tt(0);if(s||!s&&!r)if((kt(t)!=="body"||ce(n))&&(o=ze(t)),s){const d=Mt(t,!0,r,t);h.x=d.x+t.clientLeft,h.y=d.y+t.clientTop}else n&&(h.x=er(n));const c=a.left+o.scrollLeft-h.x,l=a.top+o.scrollTop-h.y;return{x:c,y:l,width:a.width,height:a.height}}function Ki(i,t){return!ct(i)||nt(i).position==="fixed"?null:t?t(i):i.offsetParent}function ir(i,t){const e=G(i);if(!ct(i)||tr(i))return e;let s=Ki(i,t);for(;s&&Zr(s)&&nt(s).position==="static";)s=Ki(s,t);return s&&(kt(s)==="html"||kt(s)==="body"&&nt(s).position==="static"&&!js(s))?e:s||ta(i)||e}const pa=async function(i){const t=this.getOffsetParent||ir,e=this.getDimensions;return{reference:da(i.reference,await t(i.floating),i.strategy),floating:{x:0,y:0,...await e(i.floating)}}};function fa(i){return nt(i).direction==="rtl"}const ma={convertOffsetParentRelativeRectToViewportRelativeRect:na,getDocumentElement:bt,getClippingRect:la,getOffsetParent:ir,getElementRects:pa,getClientRects:ra,getDimensions:ua,getScale:Ht,isElement:mt,isRTL:fa};function ba(i,t){let e=null,s;const n=bt(i);function r(){var o;clearTimeout(s),(o=e)==null||o.disconnect(),e=null}function a(o,h){o===void 0&&(o=!1),h===void 0&&(h=1),r();const{left:c,top:l,width:d,height:p}=i.getBoundingClientRect();if(o||t(),!d||!p)return;const f=fe(l),y=fe(n.clientWidth-(c+d)),x=fe(n.clientHeight-(l+p)),j=fe(c),R={rootMargin:-f+"px "+-y+"px "+-x+"px "+-j+"px",threshold:Vt(0,cs(1,h))||1};let F=!0;function V(q){const gt=q[0].intersectionRatio;if(gt!==h){if(!F)return a();gt?a(!1,gt):s=setTimeout(()=>{a(!1,1e-7)},100)}F=!1}try{e=new IntersectionObserver(V,{...R,root:n.ownerDocument})}catch{e=new IntersectionObserver(V,R)}e.observe(i)}return a(!0),r}function ga(i,t,e,s){s===void 0&&(s={});const{ancestorScroll:n=!0,ancestorResize:r=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:h=!1}=s,c=Rs(i),l=n||r?[...c?Zt(c):[],...Zt(t)]:[];l.forEach(O=>{n&&O.addEventListener("scroll",e,{passive:!0}),r&&O.addEventListener("resize",e)});const d=c&&o?ba(c,e):null;let p=-1,f=null;a&&(f=new ResizeObserver(O=>{let[R]=O;R&&R.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var F;(F=f)==null||F.observe(t)})),e()}),c&&!h&&f.observe(c),f.observe(t));let y,x=h?Mt(i):null;h&&j();function j(){const O=Mt(i);x&&(O.x!==x.x||O.y!==x.y||O.width!==x.width||O.height!==x.height)&&e(),x=O,y=requestAnimationFrame(j)}return e(),()=>{var O;l.forEach(R=>{n&&R.removeEventListener("scroll",e),r&&R.removeEventListener("resize",e)}),d==null||d(),(O=f)==null||O.disconnect(),f=null,h&&cancelAnimationFrame(y)}}const ya=(i,t,e)=>{const s=new Map,n={platform:ma,...e},r={...n.platform,_c:s};return Gr(i,t,{...n,platform:r})},ts=i=>i===null?"":i+"",$a=i=>i===null?null:i+"",wa=i=>i===null?0:Number(i),va=i=>i!==null,Ta=()=>null,ka=i=>i===null?[]:JSON.parse(i),Pa=i=>i===null?{}:JSON.parse(i);function Sa(i){if(i===null)return $a;switch(typeof i){case"undefined":return ts;case"string":return ts;case"boolean":return va;case"number":return wa;case"function":return Ta;case"object":return H(i)?ka:Pa;default:return ts}}const $t=Symbol(0),nr=Symbol(0),Lt=Symbol(0),Ct=Symbol(0);function ac(i,t){var e,s,n;const a=class a extends i{constructor(...h){if(super(...h),this[s]=0,this[n]=null,this.keepAlive=!1,this.forwardKeepAlive=!0,this.$=Q(()=>Vr(t),null),this.$.$$.t(this),t.props){const c=this.$props,l=Object.getOwnPropertyDescriptors(this);for(const d of Object.keys(l))d in t.props&&(c[d].set(this[d]),delete this[d])}}static get observedAttributes(){var h;if(!this[$t]&&t.props){const c=new Map;for(const l of Object.keys(t.props)){let d=(h=this.attrs)==null?void 0:h[l],p=v(d)?d:d&&(d==null?void 0:d.attr);p!==!1&&(p||(p=Qn(l)),c.set(p,{C:l,B:d&&!v(d)&&(d==null?void 0:d.converter)||Sa(t.props[l])}))}this[$t]=c}return this[$t]?Array.from(this[$t].keys()):[]}get scope(){return this.$.$$.d}get attachScope(){return this.$.$$.f}get connectScope(){return this.$.$$.g}get $props(){return this.$.$$.i}get $state(){return this.$.$$.h}get state(){return this.$.state}attributeChangedCallback(h,c,l){var f;const d=this.constructor;if(!d[$t]){(f=super.attributeChangedCallback)==null||f.call(this,h,c,l);return}const p=d[$t].get(h);p&&(this[p.C]=p.B(l))}connectedCallback(){var l;const h=(l=this.$)==null?void 0:l.$$;if(!h||h.o)return;if(this[Lt]!==2){Ea.call(this);return}if(!this.isConnected)return;this.hasAttribute("keep-alive")&&(this.keepAlive=!0),h.y(),H(this[Ct])&&Hr(this[Ct],this),this[Ct]=null;const c=super.connectedCallback;c&&Q(()=>c.call(this),this.connectScope)}disconnectedCallback(){var l;const h=(l=this.$)==null?void 0:l.$$;if(!h||h.o)return;h.z();const c=super.disconnectedCallback;c&&c.call(this),!this.keepAlive&&!this.hasAttribute("keep-alive")&&setTimeout(()=>{requestAnimationFrame(()=>{this.isConnected||h.p()})},0)}[(e=$t,s=Lt,n=Ct,nr)](){const h=this.$.$$,c=this.constructor;if(h.o)return;const l=c[$t];if(l)for(const d of this.attributes){let p=l.get(d.name);p&&p.B&&h.i[p.C].set(p.B(this.getAttribute(d.name)))}h.w(),h.x(this),this[Lt]=2,this.connectedCallback()}subscribe(h){return this.$.subscribe(h)}destroy(){this.disconnectedCallback(),this.$.destroy()}};a[e]=null;let r=a;return xa(r,t),r}function xa(i,t){const e=i.prototype,s=t.prototype;if(t.props)for(const n of Object.keys(t.props))Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){return this.$props[n]()},set(r){this.$props[n].set(r)}});if(s[Bt])for(const n of s[Bt])Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){return this.$[n]},set(r){this.$[n]=r}});if(s[Xt])for(const n of s[Xt])e[n]=function(...r){return this.$[n](...r)}}function Ea(){if(this[Lt]!==0)return;this[Lt]=1;const i=Ca(this),t=i&&window.customElements.get(i.localName),e=i&&i[Lt]===2;if(i&&(!t||!e)){Aa.call(this,i);return}rr.call(this,i)}async function Aa(i){await window.customElements.whenDefined(i.localName),i[Lt]!==2&&await new Promise(t=>(i[Ct]??(i[Ct]=[])).push(t)),rr.call(this,i)}function rr(i){if(this.isConnected){if(i){i.keepAlive&&i.forwardKeepAlive&&(this.keepAlive=!0,this.setAttribute("keep-alive",""));const t=this.$.$$.d;t&&i.$.$$.f.append(t)}this[nr]()}}function Ca(i){let t=i.parentNode,e=i.localName.split("-",1)[0]+"-";for(;t;){if(t.nodeType===1&&t.localName.startsWith(e))return t;t=t.parentNode}return null}function oc(i,t=!1){(t||!window.customElements.get(i.tagName))&&window.customElements.define(i.tagName,i)}const Oa=Symbol(0),La=Symbol(0),Ma=Symbol(0),Da=Symbol(0),ja=Symbol(0),Ia=Symbol(0),Ra=Symbol(0),qa=Symbol(0),_a=Symbol(0),L={oa:Oa,Yb:La,H:Ma,pa:Da,Zb:ja,Mc:Ia,ne:Ra,oe:qa,pe:_a},Na=(navigator==null?void 0:navigator.userAgent.toLowerCase())||"",ar=/iphone|ipad|ipod|ios|crios|fxios/i.test(Na),Ui=/(iphone|ipod)/gi.test((navigator==null?void 0:navigator.platform)||""),Fa=!!window.chrome,hc=!!window.safari||ar;function or(){return Va()&&ht(screen.orientation.unlock)}function Va(){return!J(window.screen.orientation)&&!J(window.screen.orientation.lock)}function Ha(i,t){return i||(i=document.createElement("audio")),i.canPlayType(t).length>0}function Ka(i,t){return i||(i=document.createElement("video")),i.canPlayType(t).length>0}function Ua(i){return i||(i=document.createElement("video")),i.canPlayType("application/vnd.apple.mpegurl").length>0}function cc(i){return!!document.pictureInPictureEnabled&&!(i!=null&&i.disablePictureInPicture)}function lc(i){return ht(i==null?void 0:i.webkitSupportsPresentationMode)&&ht(i==null?void 0:i.webkitSetPresentationMode)}async function Wa(){const i=document.createElement("video");return i.volume=.5,await Wr(0),i.volume===.5}function Qa(){return(window==null?void 0:window.ManagedMediaSource)??(window==null?void 0:window.MediaSource)??(window==null?void 0:window.WebKitMediaSource)}function za(){return(window==null?void 0:window.SourceBuffer)??(window==null?void 0:window.WebKitSourceBuffer)}function hr(){const i=Qa();if(J(i))return!1;const t=i&&ht(i.isTypeSupported)&&i.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),e=za(),s=J(e)||!J(e.prototype)&&ht(e.prototype.appendBuffer)&&ht(e.prototype.remove);return!!t&&!!s}class es{get length(){return this.$.length}constructor(t,e){H(t)?this.$=t:!J(t)&&!J(e)?this.$=[[t,e]]:this.$=[]}start(t){return this.$[t][0]??1/0}end(t){return this.$[t][1]??1/0}}function Wi(i){if(!i.length)return null;let t=i.start(0);for(let e=1;et&&(t=s)}return t}function uc(i,t){const e=new URLSearchParams;for(const s of Object.keys(t))e.set(s,t[s]+"");return i+"?"+e.toString()}function le(i,t="preconnect"){const e=document.querySelector(`link[href="${i}"]`);if(!xt(e))return!0;const s=document.createElement("link");return s.rel=t,s.href=i,s.crossOrigin="true",document.head.append(s),!0}const me={};function dc(i){if(me[i])return me[i].promise;const t=hs(),e=document.querySelector(`script[src="${i}"]`);if(!xt(e))return t.resolve(),t.promise;const s=document.createElement("script");return s.src=i,s.onload=()=>{t.resolve(),delete me[i]},s.onerror=()=>{t.reject(),delete me[i]},setTimeout(()=>document.head.append(s),0),t.promise}function Ae(i){return i==="use-credentials"?"include":v(i)?"same-origin":void 0}const Ba=Symbol(0),Xa=Symbol(0),Ya=Symbol(0),Ja=Symbol(0),Ga=Symbol(0),Za=Symbol(0),to=Symbol(0),T={al:Ba,M:Xa,Ta:Ya,P:Ja,Ua:Ga,T:Za,te:to};function ls(i,t){return t>=i.startTime&&tr.includes(o.kind)&&o.mode==="showing");if(a!==s){if(!a){e(null),s=null;return}a.readyState==2?e(a):(e(null),a.addEventListener("load",()=>e(a),{once:!0})),s=a}}return n(),b(i,"mode-change",n)}function pc(i,t,e){Be(i,t,s=>{if(!s){e("");return}const n=()=>{const r=s==null?void 0:s.activeCues[0];e((r==null?void 0:r.text)||"")};n(),b(s,"cue-change",n)})}var Qi,zi,Bi;class us extends Kn{constructor(t){super(),this.id="",this.label="",this.language="",this.default=!1,this.P=!1,this.Va=0,this.I="disabled",this.ue={},this.ac=[],this.J=[],this.Wa=[],this[Qi]=0,this[zi]=null,this[Bi]=null;for(const e of Object.keys(t))this[e]=t[e];this.type||(this.type="vtt"),t.content?st(()=>import("./prod-BPmjCPvw.js").then(e=>e.d),__vite__mapDeps([0,1])).then(({parseText:e,VTTCue:s,VTTRegion:n})=>{!v(t.content)||t.type==="json"?(this.ve(t.content,s,n),this.readyState!==3&&this.M()):e(t.content,{type:t.type}).then(({cues:r,regions:a})=>{this.J=r,this.ac=a,this.M()})}):t.src||(this[T.M]=2)}static createId(t){return`id::${t.type}-${t.kind}-${t.src??t.label}`}get metadata(){return this.ue}get regions(){return this.ac}get cues(){return this.J}get activeCues(){return this.Wa}get readyState(){return this[T.M]}get mode(){return this.I}set mode(t){this.setMode(t)}addCue(t,e){var r;let s=0,n=this.J.length;for(s=0;s=0){const r=this.Wa.includes(t);this.J.splice(s,1),(n=this[T.T])==null||n.track.removeCue(t),this.dispatchEvent(new M("remove-cue",{detail:t,trigger:e})),r&&this[T.Ta](this.Va,e)}}setMode(t,e){var s;this.I!==t&&(this.I=t,t==="disabled"?(this.Wa=[],this.we()):this.readyState===2?this[T.Ta](this.Va,e):this.xe(),this.dispatchEvent(new M("mode-change",{detail:this,trigger:e})),(s=this[T.Ua])==null||s.call(this))}[(Qi=T.M,zi=T.Ua,Bi=T.T,T.Ta)](t,e){if(this.Va=t,this.mode==="disabled"||!this.J.length)return;const s=[];for(let r=0,a=this.J.length;r0)){this[T.M]=1,this.dispatchEvent(new M("load-start"));try{const{parseResponse:s,VTTCue:n,VTTRegion:r}=await st(()=>import("./prod-BPmjCPvw.js").then(h=>h.d),__vite__mapDeps([0,1])),a=(t=this[T.al])==null?void 0:t.call(this),o=fetch(this.src,{headers:this.type==="json"?{"Content-Type":"application/json"}:void 0,credentials:Ae(a)});if(this.type==="json")this.ve(await(await o).text(),n,r);else{const{errors:h,metadata:c,regions:l,cues:d}=await s(o,{type:this.type,encoding:this.encoding});if(((e=h[0])==null?void 0:e.code)===0)throw h[0];this.ue=c,this.ac=l,this.J=d}this.M()}catch(s){this.ye(s)}}}M(){var e;if(this[T.M]=2,!this.src||this.type!=="vtt"){const s=(e=this[T.T])==null?void 0:e.track;if(s)for(const n of this.J)s.addCue(n)}const t=new M("load");this[T.Ta](this.Va,t),this.dispatchEvent(t)}ye(t){this[T.M]=3,this.dispatchEvent(new M("error",{detail:t}))}ve(t,e,s){try{const{regions:n,cues:r}=so(t,e,s);this.ac=n,this.J=r}catch(n){this.ye(n)}}we(t){this.dispatchEvent(new M("cue-change",{trigger:t}))}}const eo=/captions|subtitles/;function K(i){return eo.test(i.kind)}function so(i,t,e){const s=v(i)?JSON.parse(i):i;let n=[],r=[];return s.regions&&e&&(n=s.regions.map(a=>Object.assign(new e,a))),(s.cues||H(s))&&(r=(H(s)?s:s.cues).filter(a=>ot(a.startTime)&&ot(a.endTime)).map(a=>Object.assign(new t(0,0,""),a))),{regions:n,cues:r}}var Xi;class cr extends Kn{constructor(){super(...arguments),this.r=[],this[Xi]=!1}get length(){return this.r.length}get readonly(){return this[L.Zb]}toArray(){return[...this.r]}[(Xi=L.Zb,Symbol.iterator)](){return this.r.values()}[L.oa](t,e){const s=this.r.length;""+s in this||Object.defineProperty(this,s,{get(){return this.r[s]}}),!this.r.includes(t)&&(this.r.push(t),this.dispatchEvent(new M("add",{detail:t,trigger:e})))}[L.Yb](t,e){var n;const s=this.r.indexOf(t);s>=0&&((n=this[L.oe])==null||n.call(this,t,e),this.r.splice(s,1),this.dispatchEvent(new M("remove",{detail:t,trigger:e})))}[L.H](t){var e;for(const s of[...this.r])this[L.Yb](s,t);this.r=[],this[L.Mc](!1,t),(e=this[L.ne])==null||e.call(this)}[L.Mc](t,e){this[L.Zb]!==t&&(this[L.Zb]=t,this.dispatchEvent(new M("readonly-change",{detail:t,trigger:e})))}}const lr=new It({artist:"",audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,buffered:new es,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:or(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,controlsVisible:!1,crossOrigin:null,ended:!1,error:null,fullscreen:!1,loop:!1,logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new es,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,seekable:new es,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(K).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get realDuration(){return this.providedDuration>0?this.providedDuration:this.intrinsicDuration},get duration(){return this.clipEndTime>0?this.clipEndTime-this.clipStartTime:Math.max(0,this.realDuration-this.clipStartTime)},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return this.providedViewType!=="unknown"?this.providedViewType:this.inferredViewType},get streamType(){return this.providedStreamType!=="unknown"?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){const i=Wi(this.buffered)??0;return Math.max(0,i-this.clipStartTime)},get bufferedEnd(){const i=Ee(this.buffered)??0;return Math.min(this.duration,Math.max(0,i-this.clipStartTime))},get seekableStart(){const i=Wi(this.seekable)??0;return Math.max(0,i-this.clipStartTime)},get seekableEnd(){const i=this.canPlay?Ee(this.seekable)??1/0:0;return this.clipEndTime>0?Math.max(this.clipEndTime,Math.max(0,i-this.clipStartTime)):i},get seekableWindow(){return Math.max(0,this.seekableEnd-this.seekableStart)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return this.remotePlaybackType==="airplay"&&this.remotePlaybackState==="connected"},get isGoogleCastConnected(){return this.remotePlaybackType==="google-cast"&&this.remotePlaybackState==="connected"},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.seekableWindow)&&(!this.live||/:dvr/.test(this.streamType)&&this.seekableWindow>=this.minLiveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.realDuration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,(this.liveSyncPosition??this.seekableEnd)-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null}),io=new Set(["audioTrack","audioTracks","autoPlayError","autoPlaying","autoQuality","buffered","canPlay","ended","error","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","liveSyncPosition","paused","played","playing","qualities","quality","realCurrentTime","seekable","seeking","started","userBehindLiveEdge","waiting"]);function no(i){lr.reset(i,t=>io.has(t)),wt()}const ur=Et();function S(){return I(ur)}function fc(){return S().$state}const dr=Et();function mc(){return I(dr)}const ro={clickToPlay:!0,clickToFullscreen:!0,controls:["play-large","play","progress","current-time","mute+volume","captions","settings","pip","airplay","fullscreen"],customIcons:!1,displayDuration:!1,download:null,markers:null,invertTime:!0,thumbnails:null,toggleTime:!0,translations:null,seekTime:10,speed:[.5,.75,1,1.25,1.5,1.75,2,4]},Bs=class Bs extends ${onSetup(){this.a=S(),it(dr,{...this.$props,previewTime:g(0)})}};Bs.props=ro;let Yi=Bs;function bc(i,t){const{fullscreen:e,canFullscreen:s,canPictureInPicture:n,pictureInPicture:r,hasCaptions:a,textTrack:o,canAirPlay:h,isAirPlayConnected:c,viewType:l,playing:d,paused:p,controlsVisible:f,pointer:y,waiting:x,currentTime:j,poster:O}=t.$state;i.classList.add("plyr"),i.classList.add("plyr--full-ui");const R={"plyr--airplay-active":c,"plyr--airplay-supported":h,"plyr--fullscreen-active":e,"plyr--fullscreen-enabled":s,"plyr--hide-controls":()=>!f(),"plyr--is-touch":()=>y()==="coarse","plyr--loading":x,"plyr--paused":p,"plyr--pip-active":r,"plyr--pip-enabled":n,"plyr--playing":d,"plyr__poster-enabled":O,"plyr--stopped":()=>p()&&j()===0,"plyr--captions-active":o,"plyr--captions-enabled":a},F=Ds();for(const V of Object.keys(R))F.add(u(()=>void i.classList.toggle(V,!!R[V]())));return F.add(u(()=>{const V=`plyr--${l()}`;return i.classList.add(V),()=>i.classList.remove(V)}),u(()=>{var yt;const{$provider:V}=t,q=(yt=V())==null?void 0:yt.type,gt=`plyr--${ao(q)?"html5":q}`;return i.classList.toggle(gt,!!q),()=>i.classList.remove(gt)})),()=>F.empty()}function ao(i){return i==="audio"||i==="video"}function gc(i,t,e){if(i)return b(i,t,e)}function A(i,t,e){i.hasAttribute(t)||i.setAttribute(t,e)}function At(i,t){if(i.hasAttribute("aria-label")||i.hasAttribute("data-no-label"))return;if(!ht(t)){k(i,"aria-label",t);return}function e(){k(i,"aria-label",t())}u(e)}function pr(i,t,e){for(;t;){if(t===i)return!0;if(e!=null&&e(t))break;t=t.parentElement}return!1}function Pt(i,t){b(i,"pointerup",e=>{e.button===0&&t(e)}),b(i,"keydown",e=>{Un(e)&&t(e)})}function qs(i){return $e(i)&&(i.touches.length>1||i.changedTouches.length>1)}function ds(i){let t=Ss(),e=window.requestAnimationFrame(()=>{Q(i,t),e=-1});return()=>void window.cancelAnimationFrame(e)}function yc(i,t,e){let s,n=i,r=i.parentElement,a=i.content.firstElementChild,o=[];!a&&i.firstElementChild&&(i.innerHTML=i.firstElementChild.outerHTML,i.firstElementChild.remove(),a=i.content.firstElementChild);for(let h=0;h{for(let h=0;he.includes("left")?`calc(-1 * ${l})`:l,c=l=>e.includes("top")?`calc(-1 * ${l})`:l;return ga(t,i,()=>{ya(t,i,{placement:o,...a}).then(({x:l,y:d})=>{Object.assign(i.style,{top:`calc(${d+"px"} + ${c(r?r+"px":`var(--${s}-y-offset, 0px)`)})`,left:`calc(${l+"px"} + ${h(n?n+"px":`var(--${s}-x-offset, 0px)`)})`})})})}function oo(i){return getComputedStyle(i).animationName!=="none"}function vc(i){const t=document.createElement("slot");return t.name=i,t}function Tc(i){const t=g(!1);return u(()=>{const e=i();e&&(b(e,"transitionstart",()=>t.set(!0)),b(e,"transitionend",()=>t.set(!1)))}),t}function ho(i,t){function e(){const s=i();if(!s)return;t();const n=new ResizeObserver(Rt(t));return n.observe(s),()=>n.disconnect()}u(e)}function kc(i,t,e){ho(t,()=>{const s=i(),n=t();s&&n&&co(s,n,e)})}function co(i,t,e){const s=t.getBoundingClientRect();for(const n of["top","left","bottom","right"])z(i,`--${e}-${n}`,`${s[n]}px`)}function Pc(i){const t=lo(i),e=uo(i);return vt(()=>t()||e())}function lo(i){const t=g(!1);return u(()=>{const e=i();if(!e){t.set(!1);return}b(e,"mouseenter",()=>t.set(!0)),b(e,"mouseleave",()=>t.set(!1))}),t}function uo(i){const t=g(!1);return u(()=>{const e=i();if(!e){t.set(!1);return}b(e,"focusin",()=>t.set(!0)),b(e,"focusout",()=>t.set(!1))}),t}const po=Symbol(0),fo=Symbol(0),_t={Ya:po,Za:fo};function ss(i){return i instanceof Error?i:Error(JSON.stringify(i))}function dt(i,t){if(!i)throw Error(t||"Assertion failed.")}const mo=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,bo=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp4","audio/webm","audio/flac"]),go=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,yo=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),$o=/\.(m3u8)($|\?)/i,wo=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]);function mr({src:i,type:t}){return v(i)?mo.test(i)||bo.has(t)||i.startsWith("blob:")&&t==="audio/object":t==="audio/object"}function br(i){return v(i.src)?go.test(i.src)||yo.has(i.type)||i.src.startsWith("blob:")&&i.type==="video/object"||Xe(i)&&Ua():i.type==="video/object"}function Xe({src:i,type:t}){return v(i)&&$o.test(i)||wo.has(t)}function vo(i){return v(i.src)&&(mr(i)||br(i)||Xe(i))}function Sc(i){return typeof window.MediaStream<"u"&&i instanceof window.MediaStream}function U(i,t=2){return Number(i.toFixed(t))}function To(i){var t;return((t=String(i).split(".")[1])==null?void 0:t.length)??0}function _s(i,t,e){return Math.max(i,Math.min(e,t))}var X={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},Ji=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],Gi=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],Zi=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],W=typeof window<"u"&&typeof window.document<"u"?window.document:{},Z="fullscreenEnabled"in W&&Object.keys(X)||Ji[0]in W&&Ji||Gi[0]in W&&Gi||Zi[0]in W&&Zi||[],Ot={requestFullscreen:function(i){return i[Z[X.requestFullscreen]]()},requestFullscreenFunction:function(i){return i[Z[X.requestFullscreen]]},get exitFullscreen(){return W[Z[X.exitFullscreen]].bind(W)},get fullscreenPseudoClass(){return":"+Z[X.fullscreen]},addEventListener:function(i,t,e){return W.addEventListener(Z[X[i]],t,e)},removeEventListener:function(i,t,e){return W.removeEventListener(Z[X[i]],t,e)},get fullscreenEnabled(){return!!W[Z[X.fullscreenEnabled]]},set fullscreenEnabled(i){},get fullscreenElement(){return W[Z[X.fullscreenElement]]},set fullscreenElement(i){},get onfullscreenchange(){return W[("on"+Z[X.fullscreenchange]).toLowerCase()]},set onfullscreenchange(i){return W[("on"+Z[X.fullscreenchange]).toLowerCase()]=i},get onfullscreenerror(){return W[("on"+Z[X.fullscreenerror]).toLowerCase()]},set onfullscreenerror(i){return W[("on"+Z[X.fullscreenerror]).toLowerCase()]=i}};const Ce=Ot.fullscreenEnabled;class ko extends at{constructor(){super(...arguments),this.ub=!1,this.Nc=!1}get active(){return this.Nc}get supported(){return Ce}onConnect(){b(Ot,"fullscreenchange",this.Oc.bind(this)),b(Ot,"fullscreenerror",this._b.bind(this)),P(this.ya.bind(this))}async ya(){Ce&&await this.exit()}Oc(t){const e=is(this.el);e!==this.Nc&&(e||(this.ub=!1),this.Nc=e,this.dispatch("fullscreen-change",{detail:e,trigger:t}))}_b(t){this.ub&&(this.dispatch("fullscreen-error",{detail:null,trigger:t}),this.ub=!1)}async enter(){try{return this.ub=!0,!this.el||is(this.el)?void 0:(tn(),Ot.requestFullscreen(this.el))}catch(t){throw this.ub=!1,t}}async exit(){if(!(!this.el||!is(this.el)))return tn(),Ot.exitFullscreen()}}function Po(){return Ce}function is(i){if(Ot.fullscreenElement===i)return!0;try{return i.matches(Ot.fullscreenPseudoClass)}catch{return!1}}function tn(){if(!Ce)throw Error("[vidstack] no fullscreen API")}const De=class De extends at{constructor(){super(...arguments),this.vb=g(this.qe()),this.Ra=g(!1)}get type(){return this.vb()}get locked(){return this.Ra()}get portrait(){return this.vb().startsWith("portrait")}get landscape(){return this.vb().startsWith("landscape")}get supported(){return De.supported}onConnect(){if(this.supported)b(screen.orientation,"change",this.re.bind(this));else{const t=window.matchMedia("(orientation: landscape)");t.onchange=this.re.bind(this),P(()=>t.onchange=null)}P(this.ya.bind(this))}async ya(){this.supported&&this.Ra()&&await this.unlock()}re(t){this.vb.set(this.qe()),this.dispatch("orientation-change",{detail:{orientation:m(this.vb),lock:this.$b},trigger:t})}async lock(t){m(this.Ra)||this.$b===t||(this.se(),await screen.orientation.lock(t),this.Ra.set(!0),this.$b=t)}async unlock(){m(this.Ra)&&(this.se(),this.$b=void 0,await screen.orientation.unlock(),this.Ra.set(!1))}se(){if(!this.supported)throw Error("[vidstack] no orientation API")}qe(){return this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}};De.supported=or();let Oe=De;class So{constructor(t=void 0){this.tb=t,this.A=null,this.aa=null,this.Pc=-1}setTarget(t){this.A=t}getPlayer(t){var e;return this.aa?this.aa:((e=t??this.A)==null||e.dispatchEvent(new M("find-media-player",{detail:s=>void(this.aa=s),bubbles:!0,composed:!0})),this.aa)}setPlayer(t){this.aa=t}startLoading(t){this.s("media-start-loading",t)}startLoadingPoster(t){this.s("media-poster-start-loading",t)}requestAirPlay(t){this.s("media-airplay-request",t)}requestGoogleCast(t){this.s("media-google-cast-request",t)}play(t){this.s("media-play-request",t)}pause(t){this.s("media-pause-request",t)}mute(t){this.s("media-mute-request",t)}unmute(t){this.s("media-unmute-request",t)}enterFullscreen(t,e){this.s("media-enter-fullscreen-request",e,t)}exitFullscreen(t,e){this.s("media-exit-fullscreen-request",e,t)}lockScreenOrientation(t,e){this.s("media-orientation-lock-request",e,t)}unlockScreenOrientation(t){this.s("media-orientation-unlock-request",t)}enterPictureInPicture(t){this.s("media-enter-pip-request",t)}exitPictureInPicture(t){this.s("media-exit-pip-request",t)}seeking(t,e){this.s("media-seeking-request",e,t)}seek(t,e){this.s("media-seek-request",e,t)}seekToLiveEdge(t){this.s("media-live-edge-request",t)}changeVolume(t,e){this.s("media-volume-change-request",e,Math.max(0,Math.min(1,t)))}changeAudioTrack(t,e){this.s("media-audio-track-change-request",e,t)}changeQuality(t,e){this.s("media-quality-change-request",e,t)}requestAutoQuality(t){this.changeQuality(-1,t)}changeTextTrackMode(t,e,s){this.s("media-text-track-change-request",s,{index:t,mode:e})}changePlaybackRate(t,e){this.s("media-rate-change-request",e,t)}resumeControls(t){this.s("media-resume-controls-request",t)}pauseControls(t){this.s("media-pause-controls-request",t)}togglePaused(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.paused?this.play(t):this.pause(t))}toggleControls(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.controls.showing?e.controls.hide(0,t):e.controls.show(0,t))}toggleMuted(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.muted?this.unmute(t):this.mute(t))}toggleFullscreen(t,e){const s=this.getPlayer(e==null?void 0:e.target);s&&(s.state.fullscreen?this.exitFullscreen(t,e):this.enterFullscreen(t,e))}togglePictureInPicture(t){const e=this.getPlayer(t==null?void 0:t.target);e&&(e.state.pictureInPicture?this.exitPictureInPicture(t):this.enterPictureInPicture(t))}disableCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;const s=e.state.textTracks,n=e.state.textTrack;if(n){const r=s.indexOf(n);this.changeTextTrackMode(r,"disabled",t)}}toggleCaptions(t){const e=this.getPlayer(t==null?void 0:t.target);if(!e)return;const s=e.state.textTracks,n=e.state.textTrack;if(n){const r=s.indexOf(n);this.changeTextTrackMode(r,"disabled",t),this.Pc=r}else{let r=this.Pc;(!s[r]||!K(s[r]))&&(r=-1),r===-1&&(r=s.findIndex(a=>K(a)&&a.default)),r===-1&&(r=s.findIndex(a=>K(a))),r>=0&&this.changeTextTrackMode(r,"showing",t),this.Pc=-1}}s(t,e,s){var o,h;const n=new M(t,{bubbles:!0,composed:!0,cancelable:!0,detail:s,trigger:e});let r=(e==null?void 0:e.target)||null;r&&r instanceof $&&(r=r.el),r=!r||r===document||r===window||r===document.body||((o=this.aa)==null?void 0:o.el)&&r instanceof Node&&!this.aa.el.contains(r)?this.A??((h=this.getPlayer())==null?void 0:h.el):r??this.A,this.aa?t==="media-play-request"&&!this.aa.state.canLoad?r==null||r.dispatchEvent(n):this.aa.canPlayQueue.k(t,()=>r==null?void 0:r.dispatchEvent(n)):r==null||r.dispatchEvent(n)}za(t){}}class qt extends at{}class xo extends qt{constructor(){super(...arguments),this.Qc=-2,this.Xa=!1,this.ze=g(!1),this.Rc=g(!1),this.wb=null,this.defaultDelay=2e3}get hideOnMouseLeave(){const{hideControlsOnMouseLeave:t}=this.$props;return this.ze()||t()}set hideOnMouseLeave(t){this.ze.set(t)}get showing(){return this.$state.controlsVisible()}show(t=0,e){this.Sc(),this.Xa||this.bc(!0,t,e)}hide(t=this.defaultDelay,e){this.Sc(),this.Xa||this.bc(!1,t,e)}pause(t){this.Xa=!0,this.Sc(),this.bc(!0,0,t)}resume(t){this.Xa=!1,!this.$state.paused()&&this.bc(!1,this.defaultDelay,t)}onConnect(){u(this.bg.bind(this)),u(this.Tc.bind(this));const t=this.xb.bind(this),e=this.Aa.bind(this);this.listen("can-play",s=>this.show(0,s)),this.listen("play",t),this.listen("pause",e),this.listen("auto-play-fail",e)}bg(){const{started:t,pointer:e,paused:s}=this.$state;if(!t()||e()!=="fine")return;const n=this.hideOnMouseLeave;(!n||!this.Rc())&&u(()=>{s()||this.listen("pointermove",this.Ae.bind(this))}),n&&(this.listen("mouseenter",this.cg.bind(this)),this.listen("mouseleave",this.dg.bind(this)))}Tc(){const{paused:t,started:e,autoPlayError:s}=this.$state;if(t()||s()&&!e())return;const n=this.Ae.bind(this);u(()=>{const r=this.$state.pointer(),a=r==="coarse",o=[a?"touchend":"pointerup","keydown"];for(const h of o)this.listen(h,n,{passive:!1})})}xb(t){this.show(0,t),this.hide(void 0,t)}Aa(t){this.show(0,t)}cg(t){this.Rc.set(!1),this.show(0,t),this.hide(void 0,t)}dg(t){this.Rc.set(!0),this.hide(0,t)}Sc(){window.clearTimeout(this.Qc),this.Qc=-1}Ae(t){var e;t.MEDIA_GESTURE||this.Xa||qs(t)||(Pe(t)&&(t.key==="Escape"?((e=this.el)==null||e.focus(),this.wb=null):this.wb&&(t.preventDefault(),requestAnimationFrame(()=>{var s;(s=this.wb)==null||s.focus(),this.wb=null}))),this.show(0,t),this.hide(this.defaultDelay,t))}bc(t,e,s){if(e===0){this.B(t,s);return}this.Qc=window.setTimeout(()=>{this.scope&&this.B(t&&!this.Xa,s)},e)}B(t,e){var s;this.$state.controlsVisible()!==t&&(this.$state.controlsVisible.set(t),!t&&document.activeElement&&((s=this.el)!=null&&s.contains(document.activeElement))&&(this.wb=document.activeElement,requestAnimationFrame(()=>{var n;return(n=this.el)==null?void 0:n.focus()})),this.dispatch("controls-change",{detail:t,trigger:e}))}}var ue=Eo;function Eo(i,t,e){var s=null,n=null,r=e&&e.leading,a=e&&e.trailing;r==null&&(r=!0),a==null&&(a=!r),r==!0&&(a=!1);var o=function(){s&&(clearTimeout(s),s=null)},h=function(){var l=n;o(),l&&l()},c=function(){var l=r&&!s,d=this,p=arguments;if(n=function(){return i.apply(d,p)},s||(s=setTimeout(function(){if(s=null,a)return n()},t)),l)return l=!1,n()};return c.cancel=o,c.flush=h,c}class Ao{constructor(){this.playerId="vds-player",this.mediaId=null,this.Qk={volume:null,muted:null,time:null,lang:null,captions:null,rate:null,quality:null},this.saveTime=ue(()=>{if(!this.mediaId)return;const t=(this.Qk.time??0).toString();localStorage.setItem(this.mediaId,t)},1e3)}async getVolume(){return this.Qk.volume}async setVolume(t){this.Qk.volume=t,this.save()}async getMuted(){return this.Qk.muted}async setMuted(t){this.Qk.muted=t,this.save()}async getTime(){return this.Qk.time}async setTime(t){this.Qk.time=t,this.saveTime()}async getLang(){return this.Qk.lang}async setLang(t){this.Qk.lang=t,this.save()}async getCaptions(){return this.Qk.captions}async setCaptions(t){this.Qk.captions=t,this.save()}async getPlaybackRate(){return this.Qk.rate}async setPlaybackRate(t){this.Qk.rate=t,this.save()}async getVideoQuality(){return this.Qk.quality}async setVideoQuality(t){this.Qk.quality=t,this.save()}onChange(t,e,s="vds-player"){const n=s?localStorage.getItem(s):null,r=e?localStorage.getItem(e):null;this.playerId=s,this.mediaId=e,this.Qk={volume:null,muted:null,lang:null,captions:null,rate:null,quality:null,...n?JSON.parse(n):{},time:r?+r:null}}save(){if(!this.playerId)return;const t=JSON.stringify({...this.Qk,time:void 0});localStorage.setItem(this.playerId,t)}}class Co{constructor(){this.priority=0,this.Be=!0,this.m=null,this.z=null,this.yb=new Set}canRender(t,e){return!!e}attach(t){this.m=t,t&&(t.textTracks.onchange=this.B.bind(this))}addTrack(t){this.yb.add(t),this.eg(t)}removeTrack(t){var e,s;(s=(e=t[T.T])==null?void 0:e.remove)==null||s.call(e),t[T.T]=null,this.yb.delete(t)}changeTrack(t){const e=t==null?void 0:t[T.T];e&&e.track.mode!=="showing"&&(e.track.mode="showing"),this.z=t}setDisplay(t){this.Be=t,this.B()}detach(){this.m&&(this.m.textTracks.onchange=null);for(const t of this.yb)this.removeTrack(t);this.yb.clear(),this.m=null,this.z=null}eg(t){var s;if(!this.m)return;const e=t[s=T.T]??(t[s]=this.fg(t));e instanceof HTMLElement&&(this.m.append(e),e.track.mode=e.default?"showing":"hidden")}fg(t){const e=document.createElement("track"),s=t.default||t.mode==="showing",n=t.src&&t.type==="vtt";return e.id=t.id,e.src=n?t.src:"https://cdn.jsdelivr.net/npm/vidstack@next/empty.vtt",e.label=t.label,e.kind=t.kind,e.default=s,t.language&&(e.srclang=t.language),s&&!n&&this.Ce(t,e.track),e}Ce(t,e){var s;if(!(t.src&&t.type==="vtt"||(s=e.cues)!=null&&s.length))for(const n of t.cues)e.addCue(n)}B(t){var e;for(const s of this.yb){const n=(e=s[T.T])==null?void 0:e.track;if(!n)continue;if(!this.Be){n.mode="disabled";continue}const r=n.mode==="showing";r&&this.Ce(s,n),s.setMode(r?"showing":"disabled",t)}}}class Oo{constructor(t){this.a=t,this.m=null,this.cc=[],this.De=!1,this.ba=null,this.Ba=null;const e=t.textTracks;this.Uc=e,u(this.Vc.bind(this)),P(this.Ee.bind(this)),b(e,"add",this.Wc.bind(this)),b(e,"remove",this.gg.bind(this)),b(e,"mode-change",this.ea.bind(this))}Vc(){const{$state:t,$iosControls:e}=this.a;this.De=t.controls()||e(),this.ea()}add(t){this.cc.push(t),this.ea()}remove(t){t.detach(),this.cc.splice(this.cc.indexOf(t),1),this.ea()}Fe(t){requestAnimationFrame(()=>{if(this.m=t,t){this.ba=new Co,this.ba.attach(t);for(const e of this.Uc)this.Ge(e)}this.ea()})}Ge(t){var e;K(t)&&((e=this.ba)==null||e.addTrack(t))}hg(t){var e;K(t)&&((e=this.ba)==null||e.removeTrack(t))}Wc(t){this.Ge(t.detail)}gg(t){this.hg(t.detail)}ea(){var s,n,r,a,o,h,c;const t=this.Uc.selected;if(this.m&&(this.De||t!=null&&t[T.te])){(s=this.Ba)==null||s.changeTrack(null),(n=this.ba)==null||n.setDisplay(!0),(r=this.ba)==null||r.changeTrack(t);return}if((a=this.ba)==null||a.setDisplay(!1),(o=this.ba)==null||o.changeTrack(null),!t){(h=this.Ba)==null||h.changeTrack(null);return}const e=this.cc.sort((l,d)=>l.priority-d.priority).find(l=>l.canRender(t,this.m));this.Ba!==e&&((c=this.Ba)==null||c.detach(),e==null||e.attach(this.m),this.Ba=e??null),e==null||e.changeTrack(t)}Ee(){var t,e;(t=this.ba)==null||t.detach(),this.ba=null,(e=this.Ba)==null||e.detach(),this.Ba=null}}var Ns=Lo;function Lo(i,t,e){var s=null,n=null,r=function(){s&&(clearTimeout(s),n=null,s=null)},a=function(){var h=n;r(),h&&h()},o=function(){if(!t)return i.apply(this,arguments);var h=this,c=arguments,l=e&&!s;if(r(),n=function(){i.apply(h,c)},s=setTimeout(function(){if(s=null,!l){var d=n;return n=null,d()}},t),l)return n()};return o.cancel=r,o.flush=a,o}class Mo extends cr{constructor(){super(),this.P=!1,this.dc={},this.Sk=null,this.Rk=null,this.un=Ns(async()=>{var s;if(!this.P)return;!this.Rk&&this.Sk&&(this.Rk=await this.Sk.getLang());const t=await((s=this.Sk)==null?void 0:s.getCaptions()),e=[["captions","subtitles"],"chapters","descriptions","metadata"];for(const n of e){const r=this.getByKind(n);if(r.find(l=>l.mode==="showing"))continue;const a=this.Rk?r.find(l=>l.language===this.Rk):null,o=H(n)?this.dc[n.find(l=>this.dc[l])||""]:this.dc[n],h=a??o,c=h&&K(h);h&&(!c||t!==!1)&&(h.mode="showing",c&&this.vn(h))}},300),this.Je=this.ig.bind(this)}get selected(){return this.r.find(e=>e.mode==="showing"&&K(e))??null}get preferredLang(){return this.Rk}set preferredLang(t){this.Rk=t,this.tn(t)}add(t,e){const s=t instanceof us,n=s?t:new us(t),r=t.kind==="captions"||t.kind==="subtitles"?"captions":t.kind;return this.dc[r]&&t.default&&delete t.default,n.addEventListener("mode-change",this.Je),this[L.oa](n,e),n[T.al]=this[T.al],this.P&&n[T.P](),t.default&&(this.dc[r]=n),this.un(),this}remove(t,e){if(this.r.includes(t))return t===this.dc[t.kind]&&delete this.dc[t.kind],t.mode="disabled",t[T.Ua]=null,t.removeEventListener("mode-change",this.Je),this[L.Yb](t,e),this}clear(t){for(const e of[...this.r])this.remove(e,t);return this}getById(t){return this.r.find(e=>e.id===t)??null}getByKind(t){const e=Array.isArray(t)?t:[t];return this.r.filter(s=>e.includes(s.kind))}[T.P](){if(!this.P){for(const t of this.r)t[T.P]();this.P=!0,this.un()}}ig(t){const e=t.detail;if(this.Sk&&K(e)&&e.mode!=="disabled"&&this.vn(e),e.mode==="showing"){const s=K(e)?["captions","subtitles"]:[e.kind];for(const n of this.r)n.mode==="showing"&&n!=e&&s.includes(n.kind)&&(n.mode="disabled")}this.dispatchEvent(new M("mode-change",{detail:t.detail,trigger:t}))}vn(t){var e,s;this.tn(t.language),(s=(e=this.Sk)==null?void 0:e.setCaptions)==null||s.call(e,t.mode==="showing")}tn(t){var e,s;(s=(e=this.Sk)==null?void 0:e.setLang)==null||s.call(e,this.Rk=t)}setStorage(t){this.Sk=t}}const zt=Symbol(0);class gr extends cr{get selected(){return this.r.find(t=>t.selected)??null}get selectedIndex(){return this.r.findIndex(t=>t.selected)}[L.oe](t,e){this[L.pa](t,!1,e)}[L.oa](t,e){t[zt]=!1,Object.defineProperty(t,"selected",{get(){return this[zt]},set:s=>{var n;this.readonly||((n=this[L.pe])==null||n.call(this),this[L.pa](t,s))}}),super[L.oa](t,e)}[L.pa](t,e,s){if(e===(t==null?void 0:t[zt]))return;const n=this.selected;t&&(t[zt]=e),(e?n!==t:n===t)&&(n&&(n[zt]=!1),this.dispatchEvent(new M("change",{detail:{prev:n,current:this.selected},trigger:s})))}}class Do extends gr{getById(t){return t===""?null:this.r.find(e=>e.id===t)??null}}class jo extends gr{constructor(){super(...arguments),this.fc=!1,this.switch="current"}get auto(){return this.fc||this.readonly}[L.pe](){this[_t.Ya](!1)}[L.ne](t){this[_t.Ya](!1,t)}autoSelect(t){var e;this.readonly||this.fc||!this[_t.Za]||((e=this[_t.Za])==null||e.call(this),this[_t.Ya](!0,t))}[_t.Ya](t,e){this.fc!==t&&(this.fc=t,this.dispatchEvent(new M("auto-change",{detail:t,trigger:e})))}}function Io(i){return i instanceof HTMLAudioElement}function Ro(i){return i instanceof HTMLVideoElement}function qo(i){return Io(i)||Ro(i)}const _o={togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},en=new Set(["Shift","Alt","Meta","Control"]),No='button, [role="button"]',sn='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';class Fo extends qt{constructor(t){super(),this.a=t,this._a=null}onConnect(){u(this.mg.bind(this))}mg(){const{keyDisabled:t,keyTarget:e}=this.$props;if(t())return;const s=e()==="player"?this.el:document,n=g(!1);s===this.el?(this.listen("focusin",()=>n.set(!0)),this.listen("focusout",r=>{this.el.contains(r.target)||n.set(!1)})):(m(n)||n.set(document.querySelector("[data-media-player]")===this.el),b(document,"focusin",r=>{const a=r.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");a!==void 0&&n.set(this.el===a)})),u(()=>{n()&&(b(s,"keyup",this.zb.bind(this)),b(s,"keydown",this.Ab.bind(this)),b(s,"keydown",this.ng.bind(this),{capture:!0}))})}zb(t){var r,a;const e=document.activeElement;if(!t.key||!this.$state.canSeek()||e!=null&&e.matches(sn))return;let{method:s,value:n}=this.Zc(t);if(!v(n)&&!H(n)){(r=n==null?void 0:n.onKeyUp)==null||r.call(n,{event:t,player:this.a.player,remote:this.a.remote}),(a=n==null?void 0:n.callback)==null||a.call(n,t,this.a.remote);return}if(s!=null&&s.startsWith("seek")&&(t.preventDefault(),t.stopPropagation(),this._a?(this.Ne(t,s==="seekForward"),this._a=null):(this.a.remote.seek(this.gc,t),this.gc=void 0)),s!=null&&s.startsWith("volume")){const o=this.el.querySelector("[data-media-volume-slider]");o==null||o.dispatchEvent(new KeyboardEvent("keyup",{key:s==="volumeUp"?"Up":"Down",shiftKey:t.shiftKey,trigger:t}))}}Ab(t){var a,o,h,c;if(!t.key||en.has(t.key))return;const e=document.activeElement;if(e!=null&&e.matches(sn)||Un(t)&&(e!=null&&e.matches(No)))return;let{method:s,value:n}=this.Zc(t),r=!t.metaKey&&/^[0-9]$/.test(t.key);if(!v(n)&&!H(n)&&!r){(a=n==null?void 0:n.onKeyDown)==null||a.call(n,{event:t,player:this.a.player,remote:this.a.remote}),(o=n==null?void 0:n.callback)==null||o.call(n,t,this.a.remote);return}if(!s&&r){t.preventDefault(),t.stopPropagation(),this.a.remote.seek(this.$state.duration()/10*Number(t.key),t);return}if(s){switch(t.preventDefault(),t.stopPropagation(),s){case"seekForward":case"seekBackward":this.qa(t,s,s==="seekForward");break;case"volumeUp":case"volumeDown":const l=this.el.querySelector("[data-media-volume-slider]");if(l)l.dispatchEvent(new KeyboardEvent("keydown",{key:s==="volumeUp"?"Up":"Down",shiftKey:t.shiftKey,trigger:t}));else{const p=t.shiftKey?.1:.05;this.a.remote.changeVolume(this.$state.volume()+(s==="volumeUp"?+p:-p),t)}break;case"toggleFullscreen":this.a.remote.toggleFullscreen("prefer-media",t);break;case"speedUp":case"slowDown":const d=this.$state.playbackRate();this.a.remote.changePlaybackRate(Math.max(.25,Math.min(2,d+(s==="speedUp"?.25:-.25))),t);break;default:(c=(h=this.a.remote)[s])==null||c.call(h,t)}this.$state.lastKeyboardAction.set({action:s,event:t})}}ng(t){qo(t.target)&&this.Zc(t).method&&t.preventDefault()}Zc(t){const e={...this.$props.keyShortcuts(),...this.a.ariaKeys},s=Object.keys(e).find(n=>{var o;const r=e[n],a=H(r)?r.join(" "):v(r)?r:r==null?void 0:r.keys;return(o=H(a)?a:a==null?void 0:a.split(" "))==null?void 0:o.some(h=>Ho(h).replace(/Control/g,"Ctrl").split("+").every(c=>en.has(c)?t[c.toLowerCase()+"Key"]:t.key===c.replace("Space"," ")))});return{method:s,value:s?e[s]:null}}og(t,e){const s=t.shiftKey?10:5;return this.gc=Math.max(0,Math.min((this.gc??this.$state.currentTime())+(e==="seekForward"?+s:-s),this.$state.duration()))}Ne(t,e){var s;(s=this._a)==null||s.dispatchEvent(new KeyboardEvent(t.type,{key:e?"Right":"Left",shiftKey:t.shiftKey,trigger:t}))}qa(t,e,s){this.$state.canSeek()&&(this._a||(this._a=this.el.querySelector("[data-media-time-slider]")),this._a?this.Ne(t,s):this.a.remote.seeking(this.og(t,e),t))}}const Vo=["!","@","#","$","%","^","&","*","(",")"];function Ho(i){return i.replace(/Shift\+(\d)/g,(t,e)=>Vo[e-1])}class Ko extends at{constructor(t){super(),this._c=t}onAttach(t){const{$props:e,ariaKeys:s}=S(),n=t.getAttribute("aria-keyshortcuts");if(n){s[this._c]=n,P(()=>{delete s[this._c]});return}const r=e.keyShortcuts()[this._c];if(r){const a=H(r)?r.join(" "):v(r)?r:r==null?void 0:r.keys;t.setAttribute("aria-keyshortcuts",H(a)?a.join(" "):a)}}}class Uo{constructor(){this.name="audio"}canPlay(t){return mr(t)?!v(t.src)||t.type==="?"||Ha(this.target,t.type):!1}mediaType(){return"audio"}async load(t){return new(await st(()=>import("./vidstack-audio-BRzpik8Q.js"),__vite__mapDeps([2,3,4,1]))).AudioProvider(this.target,t)}}class yr{constructor(){this.name="video"}canPlay(t){return br(t)?!v(t.src)||t.type==="?"||Ka(this.target,t.type):!1}mediaType(){return"video"}async load(t){return new(await st(()=>import("./vidstack-video-DDlOvicQ.js"),__vite__mapDeps([5,3,4,1]))).VideoProvider(this.target,t)}}const je=class je extends yr{constructor(){super(...arguments),this.name="hls"}canPlay(t){return je.supported&&Xe(t)}async load(t){return new(await st(()=>import("./vidstack-hls-DfJvjx7c.js"),__vite__mapDeps([6,5,3,4,1]))).HLSProvider(this.target,t)}};je.supported=hr();let ps=je;class Wo{constructor(){this.name="vimeo"}preconnect(){const t=["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"];for(const e of t)le(e)}canPlay(t){return v(t.src)&&t.type==="video/vimeo"}mediaType(){return"video"}async load(t){return new(await st(()=>import("./vidstack-vimeo-k7zBeXSO.js"),__vite__mapDeps([7,4,8,9,1]))).VimeoProvider(this.target,t)}async loadPoster(t,e,s){const{resolveVimeoVideoId:n,getVimeoVideoInfo:r}=await st(()=>import("./vidstack-BTBUzdbF-Cao5mZMB.js"),__vite__mapDeps([]));if(!v(t.src))return null;const{videoId:a}=n(t.src);return a?r(a,s).then(o=>o?o.poster:null):null}}class Qo{constructor(){this.name="youtube"}preconnect(){const t=["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"];for(const e of t)le(e)}canPlay(t){return v(t.src)&&t.type==="video/youtube"}mediaType(){return"video"}async load(t){return new(await st(()=>import("./vidstack-youtube-CPRG2wRF.js"),__vite__mapDeps([10,8,11,1]))).YouTubeProvider(this.target,t)}async loadPoster(t,e,s){const{findYouTubePoster:n,resolveYouTubeVideoId:r}=await st(()=>import("./vidstack-DscYSLiW-CA6XwpqT.js"),__vite__mapDeps([])),a=v(t.src)&&r(t.src);return a?n(a,s):null}}const ns=Symbol(0),zo=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],Bo={artist:"",autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:_o,storage:null};class nn extends qt{constructor(t,e){super(),this.vb=t,this.Ca=e}async onAttach(t){const e=this.$props[this.vb]();if(e==="eager")requestAnimationFrame(this.Ca);else if(e==="idle")zr(this.Ca);else if(e==="visible"){let s,n=new IntersectionObserver(r=>{this.scope&&r[0].isIntersecting&&(s==null||s(),s=void 0,this.Ca())});n.observe(t),s=P(()=>n.disconnect())}}}class Xo{constructor(t,e){this.X=t,this.a=e,this.c=(s,...n)=>{this.X(new M(s,{detail:n==null?void 0:n[0],trigger:n==null?void 0:n[1]}))}}async jc(t,e){return In(async()=>{var xi,Ei,Ai,Ci,Oi,Li;this.a;const{autoPlay:s,canPlay:n,started:r,duration:a,seekable:o,buffered:h,remotePlaybackInfo:c,playsInline:l}=this.a.$state;if(n())return;const d={duration:(t==null?void 0:t.duration)??a(),seekable:(t==null?void 0:t.seekable)??o(),buffered:(t==null?void 0:t.buffered)??h(),provider:this.a.$provider()};this.c("can-play",d,e),wt();let p=this.a.$provider(),{storage:f,qualities:y}=this.a,{muted:x,volume:j,clipStartTime:O,playbackRate:R}=this.a.$props;const F=(Ei=(xi=c())==null?void 0:xi.savedState)==null?void 0:Ei.currentTime,V=((Ci=(Ai=c())==null?void 0:Ai.savedState)==null?void 0:Ci.paused)===!1,q=F??await(f==null?void 0:f.getTime())??O(),gt=V||s();p&&(p.setVolume(await(f==null?void 0:f.getVolume())??j()),p.setMuted(await(f==null?void 0:f.getMuted())??x()),(Oi=p.setPlaybackRate)==null||Oi.call(p,await(f==null?void 0:f.getPlaybackRate())??R()),(Li=p.setPlaysInline)==null||Li.call(p,l()),q>0&&p.setCurrentTime(q));const yt=await(f==null?void 0:f.getVideoQuality());if(yt&&y.length){let Ge=null,Mi=1/0;for(const pe of y){const Di=Math.abs(yt.width-pe.width)+Math.abs(yt.height-pe.height)+(yt.bitrate?Math.abs(yt.bitrate-pe.bitrate):0);Di0&&this.jf()}ra(){this.Mb=!1}H(){this.ra(),this.e.clear(),this.kf()}jf(){for(const t of this.e.keys())this.td(t);this.kf()}kf(){this.Ed.resolve(),this.Ed=hs()}}class Jo extends qt{constructor(t,e,s){super(),this.ga=t,this.f=e,this.a=s,this.vk=new $r,this.vd=!1,this.uk=s.$provider,this.Ib=new xo,this.rc=new ko,this.ta=new Oe}onAttach(){this.listen("fullscreen-change",this.Oc.bind(this))}onConnect(){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),e=this.qh.bind(this);for(const s of t)s.startsWith("media-")&&this.listen(s,e);this.Mk(),u(this.wk.bind(this)),u(this.rh.bind(this)),u(this.ll.bind(this)),u(this.Ll.bind(this)),u(this.sh.bind(this)),u(this.th.bind(this))}onDestroy(){this.vk.H()}Mk(){const{load:t}=this.$props,{canLoad:e}=this.$state;if(t()!=="play"||e())return;const s=this.listen("media-play-request",n=>{this.Lk(n),s()})}wk(){const t=this.uk(),e=this.$state.canPlay();return t&&e&&this.vk.Bb(),()=>{this.vk.ra()}}qh(t){t.stopPropagation(),!t.defaultPrevented&&this[t.type]&&(m(this.uk)?this[t.type](t):this.vk.k(t.type,()=>{m(this.uk)&&this[t.type](t)}))}async sc(t){const{canPlay:e,paused:s,autoPlaying:n}=this.$state;if(!this.Lk(t)&&m(s)){t&&this.f.e.k("media-play-request",t);try{const r=m(this.uk);return rs(r,m(e)),await r.play()}catch(r){const a=this.createEvent("play-fail",{detail:ss(r),trigger:t});throw a.autoPlay=n(),this.ga.X(a),r}}}Lk(t){const{load:e}=this.$props,{canLoad:s}=this.$state;if(e()==="play"&&!s()){const n=this.createEvent("media-start-loading",{trigger:t});return this.dispatchEvent(n),this.vk.k("media-play-request",async()=>{try{await this.sc(n)}catch{}}),!0}return!1}async ud(t){const{canPlay:e,paused:s}=this.$state;if(!m(s)){t&&this.f.e.k("media-pause-request",t);try{const n=m(this.uk);return rs(n,m(e)),await n.pause()}catch(n){throw this.f.e.qc("media-pause-request"),n}}}Ze(t){const{canPlay:e,live:s,liveEdge:n,canSeek:r,liveSyncPosition:a,seekableEnd:o,userBehindLiveEdge:h}=this.$state;if(h.set(!1),m(()=>!s()||n()||!r()))return;const c=m(this.uk);rs(c,m(e)),t&&this.f.e.k("media-seek-request",t);const l=o()-2;c.setCurrentTime(Math.min(l,a()??l))}async _e(t="prefer-media",e){const s=this.$e(t);if(rn(t,s),!s.active)return m(this.$state.pictureInPicture)&&(this.vd=!0,await this.wd(e)),e&&this.f.e.k("media-enter-fullscreen-request",e),s.enter()}async af(t="prefer-media",e){const s=this.$e(t);if(rn(t,s),!!s.active){e&&this.f.e.k("media-exit-fullscreen-request",e);try{const n=await s.exit();return this.vd&&m(this.$state.canPictureInPicture)&&await this.xd(),n}finally{this.vd=!1}}}$e(t){const e=m(this.uk);return t==="prefer-media"&&this.rc.supported||t==="media"?this.rc:e==null?void 0:e.fullscreen}async xd(t){if(this.bf(),!this.$state.pictureInPicture())return t&&this.f.e.k("media-enter-pip-request",t),await this.uk().pictureInPicture.enter()}async wd(t){if(this.bf(),!!this.$state.pictureInPicture())return t&&this.f.e.k("media-exit-pip-request",t),await this.uk().pictureInPicture.exit()}bf(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}rh(){this.Ib.defaultDelay=this.$props.controlsDelay()}ll(){var s,n;const{canAirPlay:t}=this.$state,e=!!((n=(s=this.uk())==null?void 0:s.airPlay)!=null&&n.supported);t.set(e)}Ll(){const{canGoogleCast:t,source:e}=this.$state,s=Fa&&!ar&&vo(e());t.set(s)}sh(){var s,n;const{canFullscreen:t}=this.$state,e=this.rc.supported||!!((n=(s=this.uk())==null?void 0:s.fullscreen)!=null&&n.supported);t.set(e)}th(){var s,n;const{canPictureInPicture:t}=this.$state,e=!!((n=(s=this.uk())==null?void 0:s.pictureInPicture)!=null&&n.supported);t.set(e)}async"media-airplay-request"(t){try{await this.ol(t)}catch{}}async ol(t){var e;try{const s=(e=this.uk())==null?void 0:e.airPlay;if(!(s!=null&&s.supported))throw Error("No AirPlay adapter.");return t&&this.f.e.k("media-airplay-request",t),await s.prompt()}catch(s){throw this.f.e.qc("media-airplay-request"),s}}async"media-google-cast-request"(t){try{await this.ul(t)}catch{}}async ul(t){try{const{canGoogleCast:e}=this.$state;if(!m(e))throw new Error("Cast not available.");if(le("https://www.gstatic.com"),!this.om){const n=await st(()=>import("./vidstack-6eBVBXTk-C12H_9VE.js").then(r=>r.v),__vite__mapDeps([12,1]));this.om=new n.GoogleCastLoader}await this.om.prompt(this.a),t&&this.f.e.k("media-google-cast-request",t);const s=m(this.$state.remotePlaybackState)!=="disconnected";s&&this.$state.remotePlaybackInfo.set(n=>({...n,savedState:{paused:m(this.$state.paused),currentTime:m(this.$state.currentTime)}})),this.$state.remotePlaybackLoader.set(s?this.om:null)}catch(e){throw this.f.e.qc("media-google-cast-request"),e}}"media-audio-track-change-request"(t){const{logger:e,audioTracks:s}=this.a;if(s.readonly)return;const n=t.detail,r=s[n];if(r){const a=t.type;this.f.e.k(a,t),r.selected=!0}}async"media-enter-fullscreen-request"(t){try{await this._e(t.detail,t)}catch(e){this._b(e,t)}}async"media-exit-fullscreen-request"(t){try{await this.af(t.detail,t)}catch(e){this._b(e,t)}}async Oc(t){const e=m(this.$props.fullscreenOrientation),s=t.detail;if(!(J(e)||!this.ta.supported))if(s){if(this.ta.locked)return;this.dispatch("media-orientation-lock-request",{detail:e,trigger:t})}else this.ta.locked&&this.dispatch("media-orientation-unlock-request",{trigger:t})}_b(t,e){this.ga.X(this.createEvent("fullscreen-error",{detail:ss(t)}))}async"media-orientation-lock-request"(t){const e=t.type;try{this.f.e.k(e,t),await this.ta.lock(t.detail)}catch{this.f.e.qc(e)}}async"media-orientation-unlock-request"(t){const e=t.type;try{this.f.e.k(e,t),await this.ta.unlock()}catch{this.f.e.qc(e)}}async"media-enter-pip-request"(t){try{await this.xd(t)}catch(e){this.cf(e,t)}}async"media-exit-pip-request"(t){try{await this.wd(t)}catch(e){this.cf(e,t)}}cf(t,e){this.ga.X(this.createEvent("picture-in-picture-error",{detail:ss(t)}))}"media-live-edge-request"(t){const{live:e,liveEdge:s,canSeek:n}=this.$state;if(!(!e()||s()||!n())){this.f.e.k("media-seek-request",t);try{this.Ze()}catch{this.f.e.qc("media-seek-request")}}}async"media-loop-request"(t){try{this.f.Ha=!0,this.f.gb=!0,await this.sc(t)}catch{this.f.Ha=!1}}async"media-pause-request"(t){if(!this.$state.paused())try{await this.ud(t)}catch{}}async"media-play-request"(t){if(this.$state.paused())try{await this.sc(t)}catch{}}"media-rate-change-request"(t){const{playbackRate:e,canSetPlaybackRate:s}=this.$state;if(e()===t.detail||!s())return;const n=this.uk();n!=null&&n.setPlaybackRate&&(this.f.e.k("media-rate-change-request",t),n.setPlaybackRate(t.detail))}"media-quality-change-request"(t){var a,o;const{qualities:e,storage:s,logger:n}=this.a;if(e.readonly)return;this.f.e.k("media-quality-change-request",t);const r=t.detail;if(r<0)e.autoSelect(t),t.isOriginTrusted&&((a=s==null?void 0:s.setVideoQuality)==null||a.call(s,null));else{const h=e[r];h&&(h.selected=!0,t.isOriginTrusted&&((o=s==null?void 0:s.setVideoQuality)==null||o.call(s,{id:h.id,width:h.width,height:h.height,bitrate:h.bitrate})))}}"media-pause-controls-request"(t){const e=t.type;this.f.e.k(e,t),this.Ib.pause(t)}"media-resume-controls-request"(t){const e=t.type;this.f.e.k(e,t),this.Ib.resume(t)}"media-seek-request"(t){const{seekableStart:e,seekableEnd:s,ended:n,canSeek:r,live:a,userBehindLiveEdge:o,clipStartTime:h}=this.$state;n()&&(this.f.gb=!0);const c=t.type;this.f.qa=!1,this.f.e.qc(c);const l=Math.min(Math.max(e()+.1,t.detail+h()),s()-.1);!Number.isFinite(l)||!r()||(this.f.e.k(c,t),this.uk().setCurrentTime(l),a()&&t.isOriginTrusted&&Math.abs(s()-l)>=2&&o.set(!0))}"media-seeking-request"(t){const e=t.type;this.f.e.k(e,t),this.$state.seeking.set(!0),this.f.qa=!0}"media-start-loading"(t){if(this.$state.canLoad())return;const e=t.type;this.f.e.k(e,t),this.ga.X(this.createEvent("can-load"))}"media-poster-start-loading"(t){if(this.$state.canLoadPoster())return;const e=t.type;this.f.e.k(e,t),this.ga.X(this.createEvent("can-load-poster"))}"media-text-track-change-request"(t){const{index:e,mode:s}=t.detail,n=this.a.textTracks[e];if(n){const r=t.type;this.f.e.k(r,t),n.setMode(s,t)}}"media-mute-request"(t){if(this.$state.muted())return;const e=t.type;this.f.e.k(e,t),this.uk().setMuted(!0)}"media-unmute-request"(t){const{muted:e,volume:s}=this.$state;if(!e())return;const n=t.type;this.f.e.k(n,t),this.a.$provider().setMuted(!1),s()===0&&(this.f.e.k(n,t),this.uk().setVolume(.25))}"media-volume-change-request"(t){const{muted:e,volume:s}=this.$state,n=t.detail;if(s()===n)return;const r=t.type;this.f.e.k(r,t),this.uk().setVolume(n),n>0&&e()&&(this.f.e.k(r,t),this.uk().setMuted(!1))}ql(t,e,s){}}function rs(i,t){if(!(i&&t))throw Error("[vidstack] media not ready")}function rn(i,t){if(!(t!=null&&t.supported))throw Error("[vidstack] no fullscreen support")}class Go{constructor(){this.qa=!1,this.Ha=!1,this.gb=!1,this.e=new Yo}}const Zo=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);class th extends qt{constructor(t,e){super(),this.f=t,this.a=e,this.p=new Map,this.Kk=!1,this.tc=!1,this.Jb=!1,this.seeking=ue(s=>{const{seeking:n,realCurrentTime:r,paused:a}=this.$state;n.set(!0),r.set(s.detail),this.F("media-seeking-request",s),a()&&(this.hb=s,this.zd())},150,{leading:!0}),this.zd=Ns(()=>{if(!this.hb)return;this.tc=!0;const{waiting:s,playing:n}=this.$state;s.set(!0),n.set(!1);const r=this.createEvent("waiting",{trigger:this.hb});this.p.set("waiting",r),this.dispatch(r),this.hb=void 0,this.tc=!1},300)}onAttach(t){t.setAttribute("aria-busy","true"),this.listen("fullscreen-change",this["fullscreen-change"].bind(this)),this.listen("fullscreen-error",this["fullscreen-error"].bind(this)),this.listen("orientation-change",this["orientation-change"].bind(this))}onConnect(t){u(this.nm.bind(this)),this.uh(),this.vh(),this.wh(),this.xh(),P(this.yh.bind(this))}X(t){var s;if(!this.scope)return;const e=t.type;(s=this[t.type])==null||s.call(this,t),Zo.has(e)&&this.p.set(e,t),this.dispatch(t)}xh(){this.Jb&&(requestAnimationFrame(()=>{this.scope&&this.a.remote.play(new M("dom-connect"))}),this.Jb=!1)}yh(){var t;this.Jb||(this.Jb=!this.a.$state.paused(),(t=this.a.$provider())==null||t.pause())}ib(){this.df(),this.Kk=!1,this.f.gb=!1,this.f.Ha=!1,this.tc=!1,this.hb=void 0,this.p.clear()}F(t,e){const s=this.f.e.td(t);s&&(e.request=s,e.triggers.add(s))}uh(){this.yd(),this.ef();const t=this.a.textTracks;b(t,"add",this.yd.bind(this)),b(t,"remove",this.yd.bind(this)),b(t,"mode-change",this.ef.bind(this))}vh(){const t=this.a.qualities;b(t,"add",this.pc.bind(this)),b(t,"remove",this.pc.bind(this)),b(t,"change",this.fb.bind(this)),b(t,"auto-change",this.zh.bind(this)),b(t,"readonly-change",this.Ah.bind(this))}wh(){const t=this.a.audioTracks;b(t,"add",this.ff.bind(this)),b(t,"remove",this.ff.bind(this)),b(t,"change",this.Bh.bind(this))}yd(t){const{textTracks:e}=this.$state;e.set(this.a.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:e(),trigger:t})}ef(t){t&&this.F("media-text-track-change-request",t);const e=this.a.textTracks.selected,{textTrack:s}=this.$state;s()!==e&&(s.set(e),this.dispatch("text-track-change",{detail:e,trigger:t}))}ff(t){const{audioTracks:e}=this.$state;e.set(this.a.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:e(),trigger:t})}Bh(t){const{audioTrack:e}=this.$state;e.set(this.a.audioTracks.selected),t&&this.F("media-audio-track-change-request",t),this.dispatch("audio-track-change",{detail:e(),trigger:t})}pc(t){const{qualities:e}=this.$state;e.set(this.a.qualities.toArray()),this.dispatch("qualities-change",{detail:e(),trigger:t})}fb(t){const{quality:e}=this.$state;e.set(this.a.qualities.selected),t&&this.F("media-quality-change-request",t),this.dispatch("quality-change",{detail:e(),trigger:t})}zh(){this.$state.autoQuality.set(this.a.qualities.auto)}Ah(){this.$state.canSetQuality.set(!this.a.qualities.readonly)}nm(){const{canSetVolume:t,isGoogleCastConnected:e}=this.$state;if(e()){t.set(!1);return}Wa().then(t.set)}"provider-change"(t){var n,r;const e=this.a.$provider(),s=t.detail;(e==null?void 0:e.type)!==(s==null?void 0:s.type)&&((n=e==null?void 0:e.destroy)==null||n.call(e),(r=e==null?void 0:e.scope)==null||r.dispose(),this.a.$provider.set(t.detail),e&&t.detail===null&&this.gf(t))}"provider-loader-change"(t){}"auto-play"(t){this.$state.autoPlayError.set(null)}"auto-play-fail"(t){this.$state.autoPlayError.set(t.detail),this.ib()}"can-load"(t){this.$state.canLoad.set(!0),this.p.set("can-load",t),this.a.textTracks[T.P](),this.F("media-start-loading",t)}"can-load-poster"(t){this.$state.canLoadPoster.set(!0),this.p.set("can-load-poster",t),this.F("media-poster-start-loading",t)}"media-type-change"(t){const e=this.p.get("source-change");e&&t.triggers.add(e);const s=this.$state.viewType();this.$state.mediaType.set(t.detail);const n=this.$state.providedViewType(),r=n==="unknown"?t.detail:n;s!==r&&setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(t.detail),this.dispatch("view-type-change",{detail:r,trigger:t}))})},0)}"stream-type-change"(t){const e=this.p.get("source-change");e&&t.triggers.add(e);const{streamType:s,inferredStreamType:n}=this.$state;n.set(t.detail),t.detail=s()}"rate-change"(t){var n;const{storage:e}=this.a,{canPlay:s}=this.$state;this.$state.playbackRate.set(t.detail),this.F("media-rate-change-request",t),s()&&((n=e==null?void 0:e.setPlaybackRate)==null||n.call(e,t.detail))}"remote-playback-change"(t){const{remotePlaybackState:e,remotePlaybackType:s}=this.$state,{type:n,state:r}=t.detail,a=r==="connected";s.set(n),e.set(r);const o=n==="airplay"?"media-airplay-request":"media-google-cast-request";if(a)this.F(o,t);else{const h=this.f.e.kl(o);h&&(t.request=h,t.triggers.add(h))}}"sources-change"(t){this.$state.sources.set(t.detail)}"source-change"(t){var s;const e=this.p.get("sources-change");e&&t.triggers.add(e),this.gf(t),this.p.set(t.type,t),this.$state.source.set(t.detail),(s=this.el)==null||s.setAttribute("aria-busy","true")}gf(t){this.a.audioTracks[L.H](t),this.a.qualities[L.H](t),this.ib(),no(this.a.$state)}abort(t){const e=this.p.get("source-change");e&&t.triggers.add(e);const s=this.p.get("can-load");s&&!t.triggers.hasType("can-load")&&t.triggers.add(s)}"load-start"(t){const e=this.p.get("source-change");e&&t.triggers.add(e)}error(t){this.$state.error.set(t.detail);const e=this.p.get("abort");e&&t.triggers.add(e)}"loaded-metadata"(t){const e=this.p.get("load-start");e&&t.triggers.add(e)}"loaded-data"(t){const e=this.p.get("load-start");e&&t.triggers.add(e)}"can-play"(t){var s;const e=this.p.get("loaded-metadata");e&&t.triggers.add(e),this.hf(t.detail),(s=this.el)==null||s.setAttribute("aria-busy","false")}"can-play-through"(t){this.hf(t.detail);const e=this.p.get("can-play");e&&t.triggers.add(e)}hf(t){const{seekable:e,buffered:s,intrinsicDuration:n,canPlay:r}=this.$state;r.set(!0),s.set(t.buffered),e.set(t.seekable);const a=Ee(t.seekable)??1/0;n.set(a)}"duration-change"(t){const{live:e,intrinsicDuration:s}=this.$state,n=t.detail;e()||s.set(Number.isNaN(n)?0:n)}progress(t){const{buffered:e,seekable:s,live:n,intrinsicDuration:r}=this.$state,a=t.detail;if(e.set(a.buffered),s.set(a.seekable),n()){const o=Ee(a.seekable)??1/0;r.set(o),this.dispatch("duration-change",{detail:o,trigger:t})}}play(t){const{paused:e,autoPlayError:s,ended:n,autoPlaying:r,playsInline:a,pointer:o,muted:h,viewType:c,live:l,userBehindLiveEdge:d}=this.$state;if(this.Gk(),!e()){t.stopImmediatePropagation();return}t.autoPlay=r();const p=this.p.get("waiting");p&&t.triggers.add(p),this.F("media-play-request",t),this.p.set("play",t),e.set(!1),s.set(null),t.autoPlay&&(this.X(this.createEvent("auto-play",{detail:{muted:h()},trigger:t})),r.set(!1)),(n()||this.f.gb)&&(this.f.gb=!1,n.set(!1),this.X(this.createEvent("replay",{trigger:t}))),!a()&&c()==="video"&&o()==="coarse"&&this.a.remote.enterFullscreen("prefer-media",t),l()&&!d()&&this.a.remote.seekToLiveEdge(t)}Gk(t){if(!m(this.a.$provider))return;const{ended:s,seekableStart:n,clipStartTime:r,clipEndTime:a,realCurrentTime:o,duration:h}=this.$state,c=o()0&&o()>=a()||Math.abs(o()-h())<.1||s();return c&&this.dispatch("media-seek-request",{detail:(r()>0?0:n())+.1,trigger:t}),c}"play-fail"(t){const{muted:e,autoPlaying:s}=this.$state,n=this.p.get("play");n&&t.triggers.add(n),this.F("media-play-request",t);const{paused:r,playing:a}=this.$state;r.set(!0),a.set(!1),this.ib(),this.p.set("play-fail",t),t.autoPlay&&(this.X(this.createEvent("auto-play-fail",{detail:{muted:e(),error:t.detail},trigger:t})),s.set(!1))}playing(t){const e=this.p.get("play"),s=this.p.get("seeked");e?t.triggers.add(e):s&&t.triggers.add(s),setTimeout(()=>this.ib(),0);const{paused:n,playing:r,live:a,liveSyncPosition:o,seekableEnd:h,started:c,currentTime:l,seeking:d,ended:p}=this.$state;if(n.set(!1),r.set(!0),d.set(!1),p.set(!1),this.f.Ha){this.f.Ha=!1;return}if(a()&&!c()&&l()===0){const f=o()??h()-2;Number.isFinite(f)&&this.a.$provider().setCurrentTime(f)}this.started(t)}started(t){const{started:e}=this.$state;e()||(e.set(!0),this.X(this.createEvent("started",{trigger:t})))}pause(t){var r;(r=this.el)!=null&&r.isConnected||(this.Jb=!0),this.F("media-pause-request",t);const e=this.p.get("seeked");e&&t.triggers.add(e);const{paused:s,playing:n}=this.$state;s.set(!0),n.set(!1),this.Kk&&setTimeout(()=>{this.X(this.createEvent("end",{trigger:t})),this.Kk=!1},0),this.ib()}"time-update"(t){if(this.f.Ha){t.stopImmediatePropagation();return}const{realCurrentTime:e,played:s,waiting:n,clipEndTime:r}=this.$state,a=r(),o=t.detail;e.set(o.currentTime),s.set(o.played),n.set(!1);for(const h of this.a.textTracks)h[T.Ta](o.currentTime,t);a>0&&o.currentTime>=a&&(this.Kk=!0,this.dispatch("media-pause-request",{trigger:t})),this.Nk()}Nk(){var n;const{storage:t}=this.a,{canPlay:e,realCurrentTime:s}=this.$state;e()&&((n=t==null?void 0:t.setTime)==null||n.call(t,s()))}"volume-change"(t){var o,h;const{storage:e}=this.a,{volume:s,muted:n,canPlay:r}=this.$state,a=t.detail;s.set(a.volume),n.set(a.muted||a.volume===0),this.F("media-volume-change-request",t),this.F(a.muted?"media-mute-request":"media-unmute-request",t),r()&&((o=e==null?void 0:e.setVolume)==null||o.call(e,s()),(h=e==null?void 0:e.setMuted)==null||h.call(e,n()))}seeked(t){const{seeking:e,currentTime:s,realCurrentTime:n,paused:r,duration:a,ended:o}=this.$state;if(this.f.qa)e.set(!0),t.stopImmediatePropagation();else if(e()){const h=this.p.get("waiting");h&&t.triggers.add(h);const c=this.p.get("seeking");c&&!t.triggers.has(c)&&t.triggers.add(c),r()&&this.df(),e.set(!1),t.detail!==a()&&o.set(!1),n.set(t.detail),this.F("media-seek-request",t);const l=t==null?void 0:t.originEvent;l!=null&&l.isTrusted&&!/seek/.test(l.type)&&this.started(t)}Math.abs(a()-s())>=.1&&o.set(!1)}waiting(t){this.tc||this.f.qa||(t.stopImmediatePropagation(),this.hb=t,this.zd())}end(t){const{loop:e}=this.$state;if(e()){setTimeout(()=>{requestAnimationFrame(()=>{this.dispatch("media-loop-request",{trigger:t})})},10);return}this.Db(t)}Db(t){const{paused:e,seeking:s,ended:n,duration:r}=this.$state;e()||this.dispatch("pause",{trigger:t}),s()&&this.dispatch("seeked",{detail:r(),trigger:t}),n.set(!0),this.ib(),this.dispatch("ended",{trigger:t})}df(){this.zd.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(t){const e=t.detail;this.$state.fullscreen.set(e),this.F(e?"media-enter-fullscreen-request":"media-exit-fullscreen-request",t)}"fullscreen-error"(t){this.F("media-enter-fullscreen-request",t),this.F("media-exit-fullscreen-request",t)}"orientation-change"(t){const e=t.detail.lock;this.F(e?"media-orientation-lock-request":"media-orientation-unlock-request",t)}"picture-in-picture-change"(t){const e=t.detail;this.$state.pictureInPicture.set(e),this.F(e?"media-enter-pip-request":"media-exit-pip-request",t)}"picture-in-picture-error"(t){this.F("media-enter-pip-request",t),this.F("media-exit-pip-request",t)}"title-change"(t){t.trigger&&(t.stopImmediatePropagation(),this.$state.inferredTitle.set(t.detail))}"poster-change"(t){t.trigger&&(t.stopImmediatePropagation(),this.$state.inferredPoster.set(t.detail))}}class eh extends qt{onSetup(){this.Ch(),u(this.Om.bind(this)),u(this.Fh.bind(this)),u(this.Ek.bind(this)),u(this.Vc.bind(this)),u(this.Hh.bind(this)),u(this.pn.bind(this)),u(this.Jh.bind(this)),u(this.Kh.bind(this)),u(this.Ih.bind(this)),u(this.Gh.bind(this)),u(this.Vm.bind(this)),u(this.ld.bind(this)),u(this.Eh.bind(this)),u(this.uc.bind(this))}Ch(){var s;const t={duration:"providedDuration",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},e=new Set(["currentTime","paused","playbackRate","volume"]);for(const n of Object.keys(this.$props))e.has(n)||(s=this.$state[t[n]??n])==null||s.set(this.$props[n]());this.$state.muted.set(this.$props.muted()||this.$props.volume()===0)}Eh(){const{viewType:t,streamType:e,title:s,poster:n}=this.$props;this.$state.providedPoster.set(n()),this.$state.providedStreamType.set(e()),this.$state.providedViewType.set(t()),this.$state.providedTitle.set(s())}Dh(){}Om(){const{artist:t}=this.$props;this.$state.artist.set(t())}uc(){const{title:t}=this.$state;this.dispatch("title-change",{detail:t()})}Fh(){const t=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(t),this.dispatch("auto-play-change",{detail:t})}Gh(){const t=this.$props.loop();this.$state.loop.set(t),this.dispatch("loop-change",{detail:t})}Vc(){const t=this.$props.controls();this.$state.controls.set(t)}ld(){const{poster:t}=this.$state;this.dispatch("poster-change",{detail:t()})}Hh(){const t=this.$props.crossOrigin()??this.$props.crossorigin(),e=t===!0?"":t;this.$state.crossOrigin.set(e)}pn(){const{providedDuration:t}=this.$state;t.set(this.$props.duration())}Vm(){const t=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(t),this.dispatch("plays-inline-change",{detail:t})}Ek(){const{clipStartTime:t,clipEndTime:e}=this.$props;this.$state.clipStartTime.set(t()),this.$state.clipEndTime.set(e())}Jh(){this.dispatch("live-change",{detail:this.$state.live()})}Ih(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}Kh(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}}const Jt=class Jt extends qt{constructor(){super()}onConnect(){u(this.Pm.bind(this)),u(this.Qm.bind(this));const t=this.Rm.bind(this);for(const e of Jt.Nm)navigator.mediaSession.setActionHandler(e,t);P(this.ya.bind(this))}ya(){for(const t of Jt.Nm)navigator.mediaSession.setActionHandler(t,null)}Pm(){const{title:t,artist:e,poster:s}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:t(),artist:e(),artwork:[{src:s()}]})}Qm(){const{canPlay:t,paused:e}=this.$state;navigator.mediaSession.playbackState=t()?e()?"paused":"playing":"none"}Rm(t){const e=new M("media-session-action",{detail:t});switch(t.action){case"play":this.dispatch("media-play-request",{trigger:e});break;case"pause":this.dispatch("media-pause-request",{trigger:e});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:ot(t.seekTime)?t.seekTime:this.$state.currentTime()+(t.seekOffset??10),trigger:e});break}}};Jt.Nm=["play","pause","seekforward","seekbackward","seekto"];let fs=Jt,Le=g(!1);b(document,"pointerdown",()=>{Le.set(!1)}),b(document,"keydown",i=>{i.metaKey||i.altKey||i.ctrlKey||Le.set(!0)});class ut extends at{constructor(){super(...arguments),this.Kb=g(!1)}onConnect(t){u(()=>{if(!Le()){this.Kb.set(!1),be(t,!1),this.listen("pointerenter",this.Cd.bind(this)),this.listen("pointerleave",this.Dd.bind(this));return}const e=document.activeElement===t;this.Kb.set(e),be(t,e),this.listen("focus",this.Lb.bind(this)),this.listen("blur",this.Nh.bind(this))})}focused(){return this.Kb()}Lb(){this.Kb.set(!0),be(this.el,!0)}Nh(){this.Kb.set(!1),be(this.el,!1)}Cd(){an(this.el,!0)}Dd(){an(this.el,!1)}}function be(i,t){k(i,"data-focus",t),k(i,"data-hocus",t)}function an(i,t){k(i,"data-hocus",t),k(i,"data-hover",t)}var sh=Object.defineProperty,ih=Object.getOwnPropertyDescriptor,C=(i,t,e,s)=>{for(var n=s>1?void 0:s?ih(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&sh(t,e,n),n},ft;const E=(ft=class extends ${constructor(){super(),this.canPlayQueue=new $r,this.wc=!1,new eh;const t={player:this,qualities:new jo,audioTracks:new Do,storage:null,$provider:g(null),$providerSetup:g(!1),$props:this.$props,$state:this.$state};t.remote=new So(void 0),t.remote.setPlayer(this),t.$iosControls=vt(this.Oh.bind(this)),t.textTracks=new Mo,t.textTracks[T.al]=this.$state.crossOrigin,t.textRenderers=new Oo(t),t.ariaKeys={},this.a=t,it(ur,t),this.orientation=new Oe,new ut,new Fo(t);const e=new Go;this.ga=new th(e,t),this.Y=new Jo(this.ga,e,t),t.delegate=new Xo(this.ga.X.bind(this.ga),t),new fs,new nn("load",this.startLoading.bind(this)),new nn("posterLoad",this.startLoadingPoster.bind(this))}get i(){return this.a.$provider()}get sn(){return this.$props}onSetup(){this.Ph(),u(this.Qh.bind(this)),u(this.Rh.bind(this)),u(this.Tc.bind(this)),u(this.Fd.bind(this)),u(this.jb.bind(this)),u(this.Vm.bind(this)),u(this.Sh.bind(this))}onAttach(t){t.setAttribute("data-media-player",""),A(t,"tabindex","0"),A(t,"role","region"),u(this.Tm.bind(this)),u(this.uc.bind(this)),u(this.lf.bind(this)),b(t,"find-media-player",this.Th.bind(this))}onConnect(t){Ui&&k(t,"data-iphone","");const e=window.matchMedia("(pointer: coarse)");this.mf(e),e.onchange=this.mf.bind(this);const s=new ResizeObserver(Rt(this.O.bind(this)));s.observe(t),u(this.O.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),P(()=>{s.disconnect(),e.onchange=null})}onDestroy(){this.a.player=null,this.canPlayQueue.H()}uc(){const t=this.$el,{title:e,live:s,viewType:n,providedTitle:r}=this.$state,a=s(),o=Ur(n()),h=o!=="Unknown"?`${a?"Live ":""}${o}`:a?"Live":"Media",c=e();k(this.el,"aria-label",c?`${h} - ${c}`:h+" Player"),t!=null&&t.hasAttribute("title")&&(this.wc=!0,t==null||t.removeAttribute("title"))}lf(){const t=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(t),k(this.el,"data-orientation",t),this.O()}Qh(){this.$state.canPlay()&&this.i?this.canPlayQueue.Bb():this.canPlayQueue.ra()}Ph(){if(ft[ns]){this.setAttributes(ft[ns]);return}const t={"data-load":function(){return this.$props.load()},"data-captions":function(){const s=this.$state.textTrack();return!!s&&K(s)},"data-ios-controls":function(){return this.a.$iosControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){const{canLoad:s,canPlay:n,waiting:r}=this.$state;return s()&&(!n()||r())},"data-error":function(){const{error:s}=this.$state;return!!s()},"data-autoplay-error":function(){const{autoPlayError:s}=this.$state;return!!s()}},e={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(const s of zo){const n="data-"+(e[s]??Qn(s));t[n]=function(){return this.$state[s]()}}delete t.title,ft[ns]=t,this.setAttributes(t)}Th(t){t.detail(this)}O(){if(!this.el)return;const t=this.el.clientWidth,e=this.el.clientHeight;this.$state.width.set(t),this.$state.height.set(e),z(this.el,"--player-width",t+"px"),z(this.el,"--player-height",e+"px")}mf(t){const e=t.matches?"coarse":"fine";k(this.el,"data-pointer",e),this.$state.pointer.set(e),this.O()}Oh(){const{playsInline:t,fullscreen:e}=this.$state;return Ui&&!Po()&&this.$state.mediaType()==="video"&&(!t()||e())}get provider(){return this.i}get controls(){return this.Y.Ib}set controls(t){this.sn.controls.set(t)}get title(){return m(this.$state.providedTitle)}set title(t){if(this.wc){this.wc=!1;return}this.$state.providedTitle.set(t)}get qualities(){return this.a.qualities}get audioTracks(){return this.a.audioTracks}get textTracks(){return this.a.textTracks}get textRenderers(){return this.a.textRenderers}get duration(){return this.$state.duration()}set duration(t){this.sn.duration.set(t)}get paused(){return m(this.$state.paused)}set paused(t){this.nf(t)}Tc(){this.nf(this.$props.paused())}nf(t){t?this.canPlayQueue.k("paused",()=>this.Y.ud()):this.canPlayQueue.k("paused",()=>this.Y.sc())}get muted(){return m(this.$state.muted)}set muted(t){this.sn.muted.set(t)}Rh(){this.Uh(this.$props.muted())}Uh(t){this.canPlayQueue.k("muted",()=>{this.i&&this.i.setMuted(t)})}get currentTime(){return m(this.$state.currentTime)}set currentTime(t){this.of(t)}jb(){this.of(this.$props.currentTime())}of(t){this.canPlayQueue.k("currentTime",()=>{const{currentTime:e,clipStartTime:s,seekableStart:n,seekableEnd:r}=this.$state;t!==m(e)&&m(()=>{if(!this.i)return;const a=Math.min(Math.max(n()+.1,t+s()),r()-.1);Number.isFinite(a)&&this.i.setCurrentTime(a)})})}get volume(){return m(this.$state.volume)}set volume(t){this.sn.volume.set(t)}Fd(){this.Vh(this.$props.volume())}Vh(t){const e=_s(0,t,1);this.canPlayQueue.k("volume",()=>{this.i&&this.i.setVolume(e)})}get playbackRate(){return m(this.$state.playbackRate)}set playbackRate(t){this.pf(t)}Sh(){this.pf(this.$props.playbackRate())}pf(t){this.canPlayQueue.k("rate",()=>{var e,s;this.i&&((s=(e=this.i).setPlaybackRate)==null||s.call(e,t))})}Vm(){this.Wm(this.$props.playsInline())}Wm(t){this.canPlayQueue.k("playsinline",()=>{var e,s;this.i&&((s=(e=this.i).setPlaysInline)==null||s.call(e,t))})}Tm(){var s;let t=this.$props.storage(),e=v(t)?new Ao:t;if(e!=null&&e.onChange){const{source:n}=this.$state,r=v(t)?t:(s=this.el)==null?void 0:s.id,a=vt(this.Um.bind(this));u(()=>e.onChange(n(),a(),r))}this.a.storage=e,this.a.textTracks.setStorage(e),P(()=>{var n;(n=e==null?void 0:e.onDestroy)==null||n.call(e),this.a.storage=null,this.a.textTracks.setStorage(null)})}Um(){const{clipStartTime:t,clipEndTime:e}=this.$props,{source:s}=this.$state,n=s();return n.src?`${n.src}:${t()}:${e()}`:null}async play(t){return this.Y.sc(t)}async pause(t){return this.Y.ud(t)}async enterFullscreen(t,e){return this.Y._e(t,e)}async exitFullscreen(t,e){return this.Y.af(t,e)}enterPictureInPicture(t){return this.Y.xd(t)}exitPictureInPicture(t){return this.Y.wd(t)}seekToLiveEdge(t){this.Y.Ze(t)}startLoading(t){this.a.delegate.c("can-load",void 0,t)}startLoadingPoster(t){this.a.delegate.c("can-load-poster",void 0,t)}requestAirPlay(t){return this.Y.ol(t)}requestGoogleCast(t){return this.Y.ul(t)}destroy(){this.a.remote.setPlayer(null),this.dispatch("destroy")}},ft.props=Bo,ft.state=lr,ft);C([w],E.prototype,"canPlayQueue",2);C([w],E.prototype,"provider",1);C([w],E.prototype,"controls",1);C([w],E.prototype,"orientation",2);C([w],E.prototype,"title",1);C([w],E.prototype,"qualities",1);C([w],E.prototype,"audioTracks",1);C([w],E.prototype,"textTracks",1);C([w],E.prototype,"textRenderers",1);C([w],E.prototype,"duration",1);C([w],E.prototype,"paused",1);C([w],E.prototype,"muted",1);C([w],E.prototype,"currentTime",1);C([w],E.prototype,"volume",1);C([w],E.prototype,"playbackRate",1);C([D],E.prototype,"play",1);C([D],E.prototype,"pause",1);C([D],E.prototype,"enterFullscreen",1);C([D],E.prototype,"exitFullscreen",1);C([D],E.prototype,"enterPictureInPicture",1);C([D],E.prototype,"exitPictureInPicture",1);C([D],E.prototype,"seekToLiveEdge",1);C([D],E.prototype,"startLoading",1);C([D],E.prototype,"startLoadingPoster",1);C([D],E.prototype,"requestAirPlay",1);C([D],E.prototype,"requestGoogleCast",1);let xc=E;function wr(i,t){return fetch(i,t).then(e=>e.text()).then(e=>{const s=nh(e);if(s)return wr(/^https?:/.test(s)?s:new URL(s,i).href,t);const n=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(e)?"on-demand":"live";return n==="live"&&rh(e)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(e)||e.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":n})}function nh(i){const t=i.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return t?t[0].split(` `)[1].trim():null}function rh(i){const t=i.split(` -`);for(const e of t)if(e.startsWith("#EXT-X-TARGETDURATION")){const s=parseFloat(e.split(":")[1]);if(!isNaN(s))return s}return-1}const vr=new Map;class ah{constructor(t,e,s,n=[]){this.xc=t,this.a=e,this.ha=s,this.Gd=!1;const r=new ps,a=new yr,o=new Uo,h=new Qo,c=new Wo,l=[h,c];this.Hd=vt(()=>{const p=e.$state.remotePlaybackLoader(),f=e.$props.preferNativeHLS()?[a,o,r,...l,...n]:[r,a,o,...l,...n];return p?[p,...f]:f});const{$state:d}=e;d.sources.set(on(e.$props.src()));for(const p of d.sources()){const f=this.Hd().find(x=>x.canPlay(p));if(!f)continue;const y=f.mediaType(p);this.a.$state.source.set(p),this.a.$state.mediaType.set(y),this.a.$state.inferredViewType.set(y),this.ha.set(f),this.Gd=!0}}get c(){return this.a.delegate.c}connect(){const t=this.ha();this.Gd&&(this.qf(this.a.$state.source(),t),this.rf(t),this.Gd=!1),u(this.Xh.bind(this)),u(this.Yh.bind(this)),u(this.Zh.bind(this)),u(this._h.bind(this)),u(this.Ok.bind(this))}Xh(){this.c("sources-change",[...on(this.a.$props.src()),...this.xc()])}Yh(){var a;const{$state:t}=this.a,e=t.sources(),s=m(t.source),n=this.sf(s,e);if(((a=e[0])==null?void 0:a.src)&&!n.src&&!n.type){const{crossOrigin:o}=t,h=Ae(o()),c=new AbortController;return Promise.all(e.map(l=>v(l.src)&&l.type==="?"?fetch(l.src,{method:"HEAD",credentials:h,signal:c.signal}).then(d=>(l.type=d.headers.get("content-type")||"??",vr.set(l.src,l.type),l)).catch(()=>l):l)).then(l=>{c.signal.aborted||(this.sf(m(t.source),l),wt())}),()=>c.abort()}wt()}sf(t,e){let s={src:"",type:""},n=null,r=this.Hd();for(const a of e){const o=r.find(h=>h.canPlay(a));if(o){s=a,n=o;break}}return hn(t,s)||this.qf(s,n),n!==m(this.ha)&&this.rf(n),s}qf(t,e){this.c("source-change",t),this.c("media-type-change",(e==null?void 0:e.mediaType(t))||"unknown")}rf(t){this.a.$providerSetup.set(!1),this.c("provider-change",null),t&&m(()=>{var e;return(e=t.preconnect)==null?void 0:e.call(t,this.a)}),this.ha.set(t),this.c("provider-loader-change",t)}Zh(){const t=this.a.$provider();if(!(!t||m(this.a.$providerSetup))){if(this.a.$state.canLoad()){Q(()=>t.setup(),t.scope),this.a.$providerSetup.set(!0);return}m(()=>{var e;return(e=t.preconnect)==null?void 0:e.call(t)})}}_h(){if(!this.a.$providerSetup())return;const t=this.a.$provider(),e=this.a.$state.source(),s=m(this.a.$state.crossOrigin),n=m(this.a.$props.preferNativeHLS);if(!hn(t==null?void 0:t.currentSrc,e)){if(this.a.$state.canLoad()){const r=new AbortController;return Xe(e)?(n||!hr())&&wr(e.src,{credentials:Ae(s),signal:r.signal}).then(a=>{this.c("stream-type-change",a)}).catch(Ms):this.c("stream-type-change","on-demand"),m(()=>{const a=m(this.a.$state.preload);return t==null?void 0:t.loadSource(e,a).catch(o=>{})}),()=>r.abort()}try{v(e.src)&&le(new URL(e.src).origin)}catch{}}}Ok(){const t=this.ha(),{providedPoster:e,source:s,canLoadPoster:n}=this.a.$state;if(!t||!t.loadPoster||!s()||!n()||e())return;const r=new AbortController,a=new M("source-change",{detail:s});return t.loadPoster(s(),this.a,r).then(o=>{this.c("poster-change",o||"",a)}).catch(()=>{this.c("poster-change","",a)}),()=>{r.abort()}}}function on(i){return(H(i)?i:[i&&!v(i)&&"src"in i?i:{src:i||""}]).map(({src:t,type:e,...s})=>({src:t,type:e??(v(t)?vr.get(t):null)??(!v(t)||t.startsWith("blob:")?"video/object":t.includes("youtube")?"video/youtube":t.includes("vimeo")&&!t.includes("progressive_redirect")&&!t.includes(".m3u8")?"video/vimeo":"?"),...s})).sort(t=>t.type==="?"?1:-1)}function hn(i,t){return(i==null?void 0:i.src)===(t==null?void 0:t.src)&&(i==null?void 0:i.type)===(t==null?void 0:t.type)}class oh{constructor(t,e){this.yc=t,this.a=e,this.tf=[],u(this.$h.bind(this))}$h(){const t=this.yc();for(const e of this.tf)if(!t.some(s=>s.id===e.id)){const s=e.id&&this.a.textTracks.getById(e.id);s&&this.a.textTracks.remove(s)}for(const e of t){const s=e.id||us.createId(e);this.a.textTracks.getById(s)||(e.id=s,this.a.textTracks.add(e))}this.tf=t}}var hh=Object.defineProperty,ch=Object.getOwnPropertyDescriptor,lh=(i,t,e,s)=>{for(var n=s>1?void 0:s?ch(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&hh(t,e,n),n};const Ie=class Ie extends ${constructor(){super(...arguments),this.xc=g([]),this.yc=g([]),this.ha=null,this.Id=-1}onSetup(){this.a=S(),this.uf=new ah(this.xc,this.a,this.$state.loader,this.$props.loaders())}onAttach(t){t.setAttribute("data-media-provider","")}onConnect(t){this.uf.connect(),new oh(this.yc,this.a);const e=new ResizeObserver(Rt(this.O.bind(this)));e.observe(t);const s=new MutationObserver(this.vf.bind(this));s.observe(t,{attributes:!0,childList:!0}),this.O(),this.vf(),P(()=>{e.disconnect(),s.disconnect()})}load(t){window.cancelAnimationFrame(this.Id),this.Id=requestAnimationFrame(()=>this.ai(t)),P(()=>{window.cancelAnimationFrame(this.Id)})}ai(t){if(!this.scope)return;const e=this.$state.loader(),{$provider:s}=this.a;this.ha===e&&(e==null?void 0:e.target)===t&&m(s)||(this.wf(),this.ha=e,e&&(e.target=t||null),!(!e||!t)&&e.load(this.a).then(n=>{this.scope&&m(this.$state.loader)===e&&this.a.delegate.c("provider-change",n)}))}onDestroy(){this.ha=null,this.wf()}wf(){this.a.delegate.c("provider-change",null)}O(){if(!this.el)return;const t=this.a.player,e=this.el.offsetWidth,s=this.el.offsetHeight;t&&(t.$state.mediaWidth.set(e),t.$state.mediaHeight.set(s),t.el&&(z(t.el,"--media-width",e+"px"),z(t.el,"--media-height",s+"px")))}vf(){const t=[],e=[],s=this.el.children;for(const n of s)n.hasAttribute("data-vds")||(n instanceof HTMLSourceElement?t.push({src:n.src,type:n.type}):n instanceof HTMLTrackElement&&e.push({id:n.id,src:n.src,kind:n.track.kind,language:n.srclang,label:n.label,default:n.default,type:n.getAttribute("data-type")}));this.xc.set(t),this.yc.set(e),wt()}};Ie.props={loaders:[]},Ie.state=new It({loader:null});let ms=Ie;lh([D],ms.prototype,"load",1);const Xs=class Xs extends ${onSetup(){this.a=S(),u(this.bi.bind(this))}onAttach(t){const{pictureInPicture:e,fullscreen:s}=this.a.$state;z(t,"pointer-events","none"),A(t,"role","group"),this.setAttributes({"data-visible":this.xf.bind(this),"data-fullscreen":s,"data-pip":e}),u(()=>{this.dispatch("change",{detail:this.xf()})}),u(this.ci.bind(this)),u(()=>{const n=s();for(const r of["top","right","bottom","left"])z(t,`padding-${r}`,n&&`env(safe-area-inset-${r})`)})}ci(){if(!this.el)return;const{$iosControls:t}=this.a,{controls:e}=this.a.$state,s=e()||t();k(this.el,"aria-hidden",s?"true":null),z(this.el,"display",s?"none":null)}bi(){const{controls:t}=this.a.player,{hideDelay:e,hideOnMouseLeave:s}=this.$props;t.defaultDelay=e()===2e3?this.a.$props.controlsDelay():e(),t.hideOnMouseLeave=s()}xf(){const{controlsVisible:t}=this.a.$state;return t()}};Xs.props={hideDelay:2e3,hideOnMouseLeave:!1};let cn=Xs;class Tr extends at{constructor(t){super(),this.j=t,this.Ac=-1,this.Bc=-1,this.Ia=null,u(this.di.bind(this))}onDestroy(){var t;(t=this.Ia)==null||t.call(this),this.Ia=null}di(){const t=this.j.C();if(!t){this.hide();return}const e=this.show.bind(this),s=this.hide.bind(this);this.j.zc(t,e,s)}show(t){var e,s,n;this.nn(),window.cancelAnimationFrame(this.Bc),this.Bc=-1,(e=this.Ia)==null||e.call(this),this.Ia=null,this.Ac=window.setTimeout(()=>{this.Ac=-1;const r=this.j.u();r&&r.style.removeProperty("display"),m(()=>this.j.B(!0,t))},((n=(s=this.j).yf)==null?void 0:n.call(s))??0)}hide(t){this.nn(),m(()=>this.j.B(!1,t)),this.Bc=requestAnimationFrame(()=>{var s;this.nn(),this.Bc=-1;const e=this.j.u();if(e){const n=()=>{e.style.display="none",this.Ia=null};if(oo(e)){(s=this.Ia)==null||s.call(this);const a=b(e,"animationend",n,{once:!0});this.Ia=a}else n()}})}nn(){window.clearTimeout(this.Ac),this.Ac=-1}}const we=Et();let uh=0;const Ys=class Ys extends ${constructor(){super(),this.ca=`media-tooltip-${++uh}`,this.C=g(null),this.u=g(null),new ut;const{showDelay:t}=this.$props;new Tr({C:this.C,u:this.u,yf:t,zc(e,s,n){b(e,"touchstart",r=>r.preventDefault(),{passive:!1}),u(()=>{Le()&&b(e,"focus",s),b(e,"blur",n)}),b(e,"mouseenter",s),b(e,"mouseleave",n)},B:this.ei.bind(this)})}onAttach(t){t.style.setProperty("display","contents")}onSetup(){it(we,{C:this.C,u:this.u,Jd:this.Jd.bind(this),Kd:this.Kd.bind(this),Ld:this.Ld.bind(this),Md:this.Md.bind(this)})}Jd(t){var s;this.C.set(t);let e=t.getAttribute("data-media-tooltip");e&&((s=this.el)==null||s.setAttribute(`data-media-${e}-tooltip`,"")),k(t,"data-describedby",this.ca)}Kd(t){t.removeAttribute("data-describedby"),t.removeAttribute("aria-describedby"),this.C.set(null)}Ld(t){t.setAttribute("id",this.ca),t.style.display="none",A(t,"role","tooltip"),this.u.set(t)}Md(t){t.removeAttribute("id"),t.removeAttribute("role"),this.u.set(null)}ei(t){const e=this.C(),s=this.u();e&&k(e,"aria-describedby",t?this.ca:null);for(const n of[this.el,e,s])n&&k(n,"data-visible",t)}};Ys.props={showDelay:700};let ln=Ys;const Js=class Js extends ${constructor(){super(),new ut;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){this.Ja(t),Object.assign(t.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(t){this.Ja(t);const e=I(we);P(()=>e.Md(t)),P(ds(()=>{this.connectScope&&u(this.Nd.bind(this))}))}Ja(t){I(we).Ld(t)}Nd(){const{placement:t,offset:e,alignOffset:s}=this.$props;return fr(this.el,this.fi(),t(),{offsetVarName:"media-tooltip",xOffset:s(),yOffset:e()})}fi(){return I(we).C()}};Js.props={placement:"top center",offset:0,alignOffset:0};let un=Js;const Gs=class Gs extends at{constructor(t){super(),this.j=t,new ut,t.kb&&new Ko(t.kb)}onSetup(){const{disabled:t}=this.$props;this.setAttributes({"data-pressed":this.j.n,"aria-pressed":this.gi.bind(this),"aria-disabled":()=>t()?"true":null})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button")}onConnect(t){Pt(t,this.hi.bind(this));for(const e of["click","touchstart"])this.listen(e,this.ii.bind(this))}gi(){return Se(this.j.n())}ji(t){_r(this.j.n)&&this.j.n.set(e=>!e)}hi(t){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){t.preventDefault(),t.stopImmediatePropagation();return}t.preventDefault(),(this.j.v??this.ji).call(this,t)}ii(t){this.$props.disabled()&&(t.preventDefault(),t.stopImmediatePropagation())}};Gs.props={disabled:!1};let N=Gs;var dh=Object.defineProperty,ph=Object.getOwnPropertyDescriptor,fh=(i,t,e,s)=>{for(var n=s>1?void 0:s?ph(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&dh(t,e,n),n};const Zs=class Zs extends ${constructor(){super(),this.zf=g(!1),new N({n:this.zf})}get pressed(){return this.zf()}};Zs.props={disabled:!1,defaultPressed:!1};let bs=Zs;fh([w],bs.prototype,"pressed",1);function mh(i){return i?"true":"false"}function B(i){return()=>mh(i())}const ti=class ti extends ${constructor(){super(),new N({n:this.n.bind(this),v:this.v.bind(this)})}onSetup(){this.a=S();const{canAirPlay:t,isAirPlayConnected:e}=this.a.$state;this.setAttributes({"data-active":e,"data-supported":t,"data-state":this.ki.bind(this),"aria-hidden":B(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","airplay"),At(t,this.zl.bind(this))}v(t){this.a.remote.requestAirPlay(t)}n(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="airplay"&&e()!=="disconnected"}ki(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="airplay"&&e()}zl(){const{remotePlaybackState:t}=this.a.$state;return`AirPlay ${t()}`}};ti.props=N.props;let dn=ti;const ei=class ei extends ${constructor(){super(),new N({n:this.n.bind(this),v:this.v.bind(this)})}onSetup(){this.a=S();const{canGoogleCast:t,isGoogleCastConnected:e}=this.a.$state;this.setAttributes({"data-active":e,"data-supported":t,"data-state":this.ki.bind(this),"aria-hidden":B(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","google-cast"),At(t,this.zl.bind(this))}v(t){this.a.remote.requestGoogleCast(t)}n(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="google-cast"&&e()!=="disconnected"}ki(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="google-cast"&&e()}zl(){const{remotePlaybackState:t}=this.a.$state;return`Google Cast ${t()}`}};ei.props=N.props;let pn=ei;const si=class si extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"togglePaused",v:this.v.bind(this)})}onSetup(){this.a=S();const{paused:t,ended:e}=this.a.$state;this.setAttributes({"data-paused":t,"data-ended":e})}onAttach(t){t.setAttribute("data-media-tooltip","play"),At(t,"Play")}v(t){const e=this.a.remote;this.n()?e.pause(t):e.play(t)}n(){const{paused:t}=this.a.$state;return!t()}};si.props=N.props;let fn=si;const ii=class ii extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"toggleCaptions",v:this.v.bind(this)})}onSetup(){this.a=S(),this.setAttributes({"data-active":this.n.bind(this),"data-supported":()=>!this.lb(),"aria-hidden":B(this.lb.bind(this))})}onAttach(t){t.setAttribute("data-media-tooltip","caption"),At(t,"Captions")}v(t){this.a.remote.toggleCaptions(t)}n(){const{textTrack:t}=this.a.$state,e=t();return!!e&&K(e)}lb(){const{hasCaptions:t}=this.a.$state;return!t()}};ii.props=N.props;let mn=ii;const ni=class ni extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"toggleFullscreen",v:this.v.bind(this)})}onSetup(){this.a=S();const{fullscreen:t}=this.a.$state,e=this.Nb.bind(this);this.setAttributes({"data-active":t,"data-supported":e,"aria-hidden":B(()=>!e())})}onAttach(t){t.setAttribute("data-media-tooltip","fullscreen"),At(t,"Fullscreen")}v(t){const e=this.a.remote,s=this.$props.target();this.n()?e.exitFullscreen(s,t):e.enterFullscreen(s,t)}n(){const{fullscreen:t}=this.a.$state;return t()}Nb(){const{canFullscreen:t}=this.a.$state;return t()}};ni.props={...N.props,target:"prefer-media"};let bn=ni;const ri=class ri extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"toggleMuted",v:this.v.bind(this)})}onSetup(){this.a=S(),this.setAttributes({"data-muted":this.n.bind(this),"data-state":this.ki.bind(this)})}onAttach(t){t.setAttribute("data-media-mute-button",""),t.setAttribute("data-media-tooltip","mute"),At(t,"Mute")}v(t){const e=this.a.remote;this.n()?e.unmute(t):e.mute(t)}n(){const{muted:t,volume:e}=this.a.$state;return t()||e()===0}ki(){const{muted:t,volume:e}=this.a.$state,s=e();if(t()||s===0)return"muted";if(s>=.5)return"high";if(s<.5)return"low"}};ri.props=N.props;let gn=ri;const ai=class ai extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"togglePictureInPicture",v:this.v.bind(this)})}onSetup(){this.a=S();const{pictureInPicture:t}=this.a.$state,e=this.Nb.bind(this);this.setAttributes({"data-active":t,"data-supported":e,"aria-hidden":B(()=>!e())})}onAttach(t){t.setAttribute("data-media-tooltip","pip"),At(t,"PiP")}v(t){const e=this.a.remote;this.n()?e.exitPictureInPicture(t):e.enterPictureInPicture(t)}n(){const{pictureInPicture:t}=this.a.$state;return t()}Nb(){const{canPictureInPicture:t}=this.a.$state;return t()}};ai.props=N.props;let yn=ai;const oi=class oi extends ${constructor(){super(),new ut}onSetup(){this.a=S();const{seeking:t}=this.a.$state,{seconds:e}=this.$props,s=this.Nb.bind(this);this.setAttributes({seconds:e,"data-seeking":t,"data-supported":s,"aria-hidden":B(()=>!s())})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button"),t.setAttribute("data-media-tooltip","seek"),At(t,this.zl.bind(this))}onConnect(t){Pt(t,this.v.bind(this))}Nb(){const{canSeek:t}=this.a.$state;return t()}zl(){const{seconds:t}=this.$props;return`Seek ${t()>0?"forward":"backward"} ${t()} seconds`}v(t){const{seconds:e,disabled:s}=this.$props;if(s())return;const{currentTime:n}=this.a.$state,r=n()+e();this.a.remote.seek(r,t)}};oi.props={disabled:!1,seconds:30};let $n=oi;const hi=class hi extends ${constructor(){super(),new ut}onSetup(){this.a=S();const{disabled:t}=this.$props,{live:e,liveEdge:s}=this.a.$state,n=()=>!e();this.setAttributes({"data-edge":s,"data-hidden":n,"aria-disabled":B(()=>t()||s()),"aria-hidden":B(n)})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button"),t.setAttribute("data-media-tooltip","live")}onConnect(t){Pt(t,this.v.bind(this))}v(t){const{disabled:e}=this.$props,{liveEdge:s}=this.a.$state;e()||s()||this.a.remote.seekToLiveEdge(t)}};hi.props={disabled:!1};let wn=hi;const Fs=new It({min:0,max:100,value:0,pointerValue:0,focused:!1,dragging:!1,pointing:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return vn(this.min,this.max,this.value)},get fillPercent(){return this.fillRate*100},get pointerRate(){return vn(this.min,this.max,this.pointerValue)},get pointerPercent(){return this.pointerRate*100}});function vn(i,t,e){const s=t-i,n=e-i;return s>0?n/s:0}function bh(i,t,e,s){return _s(i,U(e,To(s)),t)}function gh(i,t,e,s){const n=_s(0,e,1),r=t-i,a=r*n,o=a/s,h=s*o;return i+h}const Tn={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};class yh extends at{constructor(t,e){super(),this.j=t,this.a=e,this.i=null,this.ua=null,this.mb=null,this.ti=ue(s=>{this.va(this.Dc(s),s)},20,{leading:!0})}onConnect(){u(this.li.bind(this)),u(this.mi.bind(this)),this.j.ni&&u(this.xn.bind(this))}xn(){var e;const{pointer:t}=this.a.$state;if(t()!=="coarse"||!this.j.ni()){this.i=null;return}this.i=(e=this.a.player.el)==null?void 0:e.querySelector("media-provider,[data-media-provider]"),this.i&&(b(this.i,"touchstart",this.oi.bind(this),{passive:!0}),b(this.i,"touchmove",this.pi.bind(this),{passive:!1}))}oi(t){this.ua=t.touches[0]}pi(t){if(xt(this.ua)||qs(t))return;const e=t.touches[0],s=e.clientX-this.ua.clientX,n=e.clientY-this.ua.clientY,r=this.$state.dragging();!r&&Math.abs(n)>5||r||(t.preventDefault(),Math.abs(s)>20&&(this.ua=e,this.mb=this.$state.value(),this.Od(this.mb,t)))}li(){this.j.K()||(this.listen("focus",this.Lb.bind(this)),this.listen("pointerenter",this.Cd.bind(this)),this.listen("pointermove",this.qi.bind(this)),this.listen("pointerleave",this.Dd.bind(this)),this.listen("pointerdown",this.ri.bind(this)),this.listen("keydown",this.Ab.bind(this)),this.listen("keyup",this.zb.bind(this)))}mi(){this.j.K()||!this.$state.dragging()||(b(document,"pointerup",this.si.bind(this)),b(document,"pointermove",this.ti.bind(this)),b(document,"touchmove",this.ui.bind(this),{passive:!1}))}Lb(){this.va(this.$state.value())}Pd(t,e){var c,l,d,p;const{value:s,min:n,max:r,dragging:a}=this.$state,o=Math.max(n(),Math.min(t,r()));s.set(o);const h=this.createEvent("value-change",{detail:o,trigger:e});if(this.dispatch(h),(l=(c=this.j).o)==null||l.call(c,h),a()){const f=this.createEvent("drag-value-change",{detail:o,trigger:e});this.dispatch(f),(p=(d=this.j).nb)==null||p.call(d,f)}}va(t,e){const{pointerValue:s,dragging:n}=this.$state;s.set(t),this.dispatch("pointer-value-change",{detail:t,trigger:e}),n()&&this.Pd(t,e)}Dc(t){let e,s=this.el.getBoundingClientRect(),{min:n,max:r}=this.$state;if(this.$props.orientation()==="vertical"){const{bottom:a,height:o}=s;e=(a-t.clientY)/o}else if(this.ua&&ot(this.mb)){const{width:a}=this.i.getBoundingClientRect(),o=(t.clientX-this.ua.clientX)/a,h=r()-n(),c=h*Math.abs(o);e=(o<0?this.mb-c:this.mb+c)/h}else{const{left:a,width:o}=s;e=(t.clientX-a)/o}return Math.max(n(),Math.min(r(),this.j.Ob(gh(n(),r(),e,this.j.Ka()))))}Cd(t){this.$state.pointing.set(!0)}qi(t){const{dragging:e}=this.$state;e()||this.va(this.Dc(t),t)}Dd(t){this.$state.pointing.set(!1)}ri(t){if(t.button!==0)return;const e=this.Dc(t);this.Od(e,t),this.va(e,t)}Od(t,e){var r,a;const{dragging:s}=this.$state;if(s())return;s.set(!0),this.a.remote.pauseControls(e);const n=this.createEvent("drag-start",{detail:t,trigger:e});this.dispatch(n),(a=(r=this.j).Qd)==null||a.call(r,n)}Af(t,e){var r,a;const{dragging:s}=this.$state;if(!s())return;s.set(!1),this.a.remote.resumeControls(e);const n=this.createEvent("drag-end",{detail:t,trigger:e});this.dispatch(n),(a=(r=this.j).Ec)==null||a.call(r,n),this.ua=null,this.mb=null}Ab(t){const{key:e}=t,{min:s,max:n}=this.$state;let r;if(e==="Home"||e==="PageUp"?r=s():e==="End"||e==="PageDown"?r=n():!t.metaKey&&/^[0-9]$/.test(e)&&(r=(n()-s())/10*Number(e)),!J(r)){this.va(r,t),this.Pd(r,t);return}const a=this.Bf(t);if(J(a))return;const o=e===this.Rd;!this.$state.dragging()&&o&&this.Od(a,t),this.va(a,t),o||this.Pd(a,t),this.Rd=e}zb(t){this.Rd="";const{dragging:e,value:s}=this.$state;if(!e())return;const n=this.Bf(t)??s();this.va(n),this.Af(n,t)}Bf(t){const{key:e,shiftKey:s}=t;if(!Object.keys(Tn).includes(e))return;t.preventDefault(),t.stopPropagation();const{shiftKeyMultiplier:r}=this.$props,{value:a,min:o,max:h}=this.$state,c=this.j.Ka(),l=this.j.Pb(),d=s?l*r():l,p=Number(Tn[e]),f=d*p,y=(a()+f)/c;return Math.max(o(),Math.min(h(),Number((c*y).toFixed(3))))}si(t){if(t.button!==0)return;const e=this.Dc(t);this.va(e,t),this.Af(e,t)}ui(t){t.preventDefault()}}const te=Et(()=>({})),Vs=Et(),ci=class ci extends at{constructor(t){super(),this.j=t,this.xi=Rt((e,s)=>{var n,r;(n=this.el)==null||n.style.setProperty("--slider-fill",e+"%"),(r=this.el)==null||r.style.setProperty("--slider-pointer",s+"%")})}onSetup(){this.a=S();const t=new ut;t.attach(this),this.$state.focused=t.focused.bind(t),lt(te)||it(te,{default:"value"}),it(Vs,{ta:this.$props.orientation,Fc:this.j.K,Cf:g(null)}),u(this.D.bind(this)),u(this.Qb.bind(this)),this.vi(),new yh(this.j,this.a).attach(this)}onAttach(t){A(t,"role","slider"),A(t,"tabindex","0"),A(t,"autocomplete","off"),u(this.Df.bind(this))}D(){const{dragging:t,value:e,min:s,max:n}=this.$state;m(t)||e.set(bh(s(),n(),e(),this.j.Ka()))}Qb(){if(!this.j.K())return;const{dragging:t,pointing:e}=this.$state;t.set(!1),e.set(!1)}wi(){return Se(this.j.K())}vi(){const{orientation:t}=this.$props,{dragging:e,active:s,pointing:n}=this.$state;this.setAttributes({"data-dragging":e,"data-pointing":n,"data-active":s,"aria-disabled":this.wi.bind(this),"aria-valuemin":this.$state.min,"aria-valuemax":this.$state.max,"aria-valuenow":this.j.ia,"aria-valuetext":this.j.ja,"aria-orientation":t})}Df(){const{fillPercent:t,pointerPercent:e}=this.$state;this.xi(U(t(),3),U(e(),3))}};ci.props={disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};let St=ci;const Re=class Re extends ${constructor(){super(),new St({Ka:this.$props.step,Pb:this.$props.keyStep,Ob:Math.round,K:this.$props.disabled,ia:this.ia.bind(this),ja:this.ja.bind(this)})}onSetup(){u(this.D.bind(this)),u(this.yi.bind(this))}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const{value:t,max:e}=this.$state;return U(t()/e()*100,2)+"%"}D(){const{value:t}=this.$props;this.$state.value.set(t())}yi(){const{min:t,max:e}=this.$props;this.$state.min.set(t()),this.$state.max.set(e())}};Re.props={...St.props,min:0,max:100,value:0},Re.state=Fs;let ee=Re;const pt=new Map,ge=new Map;class Hs{constructor(t,e,s){this.$src=t,this.$crossOrigin=e,this.a=s,this.$images=g([]),u(this.zi.bind(this))}static create(t,e){const s=S();return new Hs(t,e,s)}zi(){var n;const{canLoad:t}=this.a.$state;if(!t())return;const e=this.$src(),s=new AbortController;if(e){if(v(e)&&pt.has(e)){const r=pt.get(e);if(pt.delete(e),pt.set(e,r),pt.size>30){const a=pt.keys().next().value;pt.delete(a)}this.$images.set(pt.get(e))}else if(v(e)){const r=this.$crossOrigin(),a=e+"::"+r;if(!ge.has(a)){const o=new Promise(async(h,c)=>{try{const l=await fetch(e,{signal:s.signal,credentials:Ae(r)});if(l.headers.get("content-type")==="application/json"){const p=await l.json();if(H(p))if(p[0]&&"text"in p[0])h(this.bl(p));else{for(let f=0;fimport("./prod-D24nP0G3.js").then(p=>p.d),__vite__mapDeps([0,1])).then(async({parseResponse:p})=>{try{const{cues:f}=await p(l);h(this.bl(f))}catch(f){c(f)}})}catch(l){c(l)}}).then(h=>(s.signal.aborted||pt.set(a,h),h)).catch(h=>{s.signal.aborted||this.U(e,h)}).finally(()=>{v(a)&&ge.delete(a)});ge.set(a,o)}(n=ge.get(a))==null||n.then(o=>{s.signal.aborted||this.$images.set(o||[])})}else if(H(e))try{this.$images.set(this.jl(e))}catch(r){this.U(e,r)}else try{this.$images.set(this.cl(e))}catch(r){this.U(e,r)}return()=>{s.abort(),this.$images.set([])}}}jl(t){const e=this.dl();return t.map((s,n)=>(dt(s.url&&v(s.url),!1),dt("startTime"in s&&ot(s.startTime),!1),{...s,url:v(s.url)?this.gl(s.url,e):s.url}))}cl(t){var a;dt(v(t.url),!1),dt(H(t.tiles)&&((a=t.tiles)==null?void 0:a.length),!1);const e=new URL(t.url),s=[],n="tile_width"in t?t.tile_width:t.tileWidth,r="tile_height"in t?t.tile_height:t.tileHeight;for(const o of t.tiles)s.push({url:e,startTime:"start"in o?o.start:o.startTime,width:n,height:r,coords:{x:o.x,y:o.y}});return s}bl(t){for(let n=0;n{this.Ci(),e.set(!1),s.set(null)}}qd(){const{loading:t,error:e}=this.$state;this.Fi(),t.set(!1),e.set(null)}U(t){const{loading:e,error:s}=this.$state;e.set(!1),s.set(t)}Rb(){const{loading:t,hidden:e}=this.$state;return!e()&&t()}wa(){const{error:t}=this.$state;return!xt(t())}ob(){const{hidden:t}=this.$state,{duration:e}=this.a.$state,s=this.ha.$images();t.set(this.wa()||!Number.isFinite(e())||s.length===0)}Gf(){return this.$props.time()}il(){let t=this.ha.$images();if(!t.length)return;let e=this.Gf(),{src:s,activeThumbnail:n}=this.$state,r=-1,a=null;for(let o=t.length-1;o>=0;o--){const h=t[o];if(e>=h.startTime&&(!h.endTime||e1?p:1;this.pb(t,"--thumbnail-width",`${n*y}px`),this.pb(t,"--thumbnail-height",`${r*y}px`),this.pb(e,"width",`${e.naturalWidth*y}px`),this.pb(e,"height",`${e.naturalHeight*y}px`),this.pb(e,"transform",s.coords?`translate(-${s.coords.x*y}px, -${s.coords.y*y}px)`:""),this.pb(e,"max-width","none")}pb(t,e,s){t.style.setProperty(e,s),this.Td.push(()=>t.style.removeProperty(e))}Ci(){for(const t of this.Td)t();this.Td=[]}};qe.props={src:null,time:0,crossOrigin:null},qe.state=new It({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});let kn=qe;var $h=Object.defineProperty,wh=Object.getOwnPropertyDescriptor,vh=(i,t,e,s)=>{for(var n=s>1?void 0:s?wh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&$h(t,e,n),n};const _e=class _e extends ${get video(){return this.$state.video()}onSetup(){this.a=S(),this.Q=We(ee.state),this.Hh(),this.setAttributes({"data-loading":this.Rb.bind(this),"data-hidden":this.$state.hidden,"data-error":this.wa.bind(this),"aria-hidden":B(this.$state.hidden)})}onAttach(t){u(this.Gi.bind(this)),u(this.fd.bind(this)),u(this.Hh.bind(this)),u(this.ob.bind(this)),u(this.Hi.bind(this)),u(this.Ii.bind(this))}Gi(){const t=this.$state.video();t&&(t.readyState>=2&&this.hc(),b(t,"canplay",this.hc.bind(this)),b(t,"error",this.U.bind(this)))}fd(){const{src:t}=this.$state,{canLoad:e}=this.a.$state;t.set(e()?this.$props.src():null)}Hh(){const{crossOrigin:t}=this.$props,{crossOrigin:e}=this.$state,{crossOrigin:s}=this.a.$state,n=t()!==null?t():s();e.set(n===!0?"anonymous":n)}Rb(){const{canPlay:t,hidden:e}=this.$state;return!t()&&!e()}wa(){const{error:t}=this.$state;return!xt(t)}ob(){const{src:t,hidden:e}=this.$state,{canLoad:s,duration:n}=this.a.$state;e.set(s()&&(!t()||this.wa()||!Number.isFinite(n())))}Hi(){const{src:t,canPlay:e,error:s}=this.$state;t(),e.set(!1),s.set(null)}hc(t){const{canPlay:e,error:s}=this.$state;e.set(!0),s.set(null),this.dispatch("can-play",{trigger:t})}U(t){const{canPlay:e,error:s}=this.$state;e.set(!1),s.set(t),this.dispatch("error",{trigger:t})}Ii(){const{video:t,canPlay:e}=this.$state,{duration:s}=this.a.$state,{pointerRate:n}=this.Q,r=t();e()&&r&&Number.isFinite(s())&&Number.isFinite(n())&&(r.currentTime=n()*s())}};_e.props={src:null,crossOrigin:null},_e.state=new It({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});let gs=_e;vh([w],gs.prototype,"video",1);function as(i,t){const e=String(i),s=e.length;if(s=3600?as(a,2):a,d=as(o,2),p=n&&h>0?`.${String(h).replace(/^0?\./,"")}`:"",f=`${l}:${d}${p}`;return r>0||s?`${c}:${f}`:f}function ys(i){const t=[],{hours:e,minutes:s,seconds:n}=kr(i);return e>0&&t.push(`${e} hour`),s>0&&t.push(`${s} min`),(n>0||t.length===0)&&t.push(`${n} sec`),t.join(" ")}var Th=Object.defineProperty,kh=Object.getOwnPropertyDescriptor,Ph=(i,t,e,s)=>{for(var n=s>1?void 0:s?kh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Th(t,e,n),n};const li=class li extends ${onSetup(){this.Q=We(ee.state),this.Sb=I(te),this.Ji=vt(this.getValueText.bind(this))}getValueText(){var y,x;const{type:t,format:e,decimalPlaces:s,padHours:n,padMinutes:r,showHours:a,showMs:o}=this.$props,{value:h,pointerValue:c,min:l,max:d}=this.Q,p=e()??this.Sb.default,f=t()==="current"?h():c();if(p==="percent"){const j=d()-l(),O=f/j*100;return(this.Sb.percent??U)(O,s())+"﹪"}else return p==="time"?(this.Sb.time??Ye)(f,{padHrs:n(),padMins:r(),showHrs:a(),showMs:o()}):((x=(y=this.Sb).value)==null?void 0:x.call(y,f))??f.toFixed(2)}};li.props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};let $s=li;Ph([D],$s.prototype,"getValueText",1);const ui=class ui extends ${constructor(){super(...arguments),this.Hf=Rt(()=>{const{Fc:t,ta:e}=this.Q;if(t())return;const s=this.el,{offset:n,noClamp:r}=this.$props;Sh(s,{clamp:!r(),offset:n(),orientation:e()})})}onSetup(){this.Q=I(Vs);const{active:t}=We(ee.state);this.setAttributes({"data-visible":t})}onAttach(t){Object.assign(t.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(t){const{Cf:e}=this.Q;e.set(t),P(()=>e.set(null)),u(this.Hf.bind(this));const s=new ResizeObserver(this.Hf.bind(this));s.observe(t),P(()=>s.disconnect())}};ui.props={offset:0,noClamp:!1};let Pn=ui;function Sh(i,{clamp:t,offset:e,orientation:s}){const n=getComputedStyle(i),r=parseFloat(n.width),a=parseFloat(n.height),o={top:null,right:null,bottom:null,left:null};if(o[s==="horizontal"?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${e}px))`,s==="horizontal"){const h=r/2;if(!t)o.left=`calc(var(--slider-pointer) - ${h}px)`;else{const c=`max(0px, calc(var(--slider-pointer) - ${h}px))`,l=`calc(100% - ${r}px)`;o.left=`min(${c}, ${l})`}}else{const h=a/2;if(!t)o.bottom=`calc(var(--slider-pointer) - ${h}px)`;else{const c=`max(${h}px, calc(var(--slider-pointer) - ${h}px))`,l=`calc(100% - ${a}px)`;o.bottom=`min(${c}, ${l})`}}Object.assign(i.style,o)}const Ne=class Ne extends ${constructor(){super(...arguments),this.If=ue(this.ab.bind(this),25)}onSetup(){this.a=S(),it(te,{default:"percent"}),new St({Ka:this.$props.step,Pb:this.$props.keyStep,K:this.$props.disabled,Ob:Math.round,ia:this.ia.bind(this),ja:this.ja.bind(this),nb:this.nb.bind(this),o:this.o.bind(this)}).attach(this),u(this.Fd.bind(this))}onAttach(t){t.setAttribute("data-media-volume-slider",""),A(t,"aria-label","Volume");const{canSetVolume:e}=this.a.$state;this.setAttributes({"data-supported":e,"aria-hidden":B(()=>!e())})}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const{value:t,max:e}=this.$state;return U(t()/e()*100,2)+"%"}Fd(){const{muted:t,volume:e}=this.a.$state,s=t()?0:e()*100;this.$state.value.set(s),this.dispatch("value-change",{detail:s})}ab(t){if(!t.trigger)return;const e=U(t.detail/100,3);this.a.remote.changeVolume(e,t)}o(t){this.If(t)}nb(t){this.If(t)}};Ne.props={...St.props,keyStep:5,shiftKeyMultiplier:2},Ne.state=Fs;let Sn=Ne;const Fe=class Fe extends ${constructor(){super(),this.Jf=g(null),this.Wd=!1;const{noSwipeGesture:t}=this.$props;new St({ni:()=>!t(),Ka:this.Ka.bind(this),Pb:this.Pb.bind(this),K:this.K.bind(this),Ob:this.Ob,ia:this.ia.bind(this),ja:this.ja.bind(this),Qd:this.Qd.bind(this),nb:this.nb.bind(this),Ec:this.Ec.bind(this),o:this.o.bind(this)})}onSetup(){this.a=S(),it(te,{default:"time",value:this.Ki.bind(this),time:this.Li.bind(this)}),this.setAttributes({"data-chapters":this.Mi.bind(this)}),this.setStyles({"--slider-progress":this.Ni.bind(this)}),u(this.jb.bind(this)),u(this.Oi.bind(this))}onAttach(t){t.setAttribute("data-media-time-slider",""),A(t,"aria-label","Seek")}onConnect(t){u(this.Pi.bind(this)),Be(this.a.textTracks,"chapters",this.Jf.set)}Ni(){const{bufferedEnd:t,duration:e}=this.a.$state;return U(Math.min(t()/Math.max(e(),1),1)*100,3)+"%"}Mi(){var e;const{duration:t}=this.a.$state;return((e=this.Jf())==null?void 0:e.cues.length)&&Number.isFinite(t())&&t()>0}Oi(){this.Vd=ue(this.qa.bind(this),this.$props.seekingRequestThrottle())}jb(){const{currentTime:t}=this.a.$state,{value:e,dragging:s}=this.$state,n=this.Qi(t());m(s)||(e.set(n),this.dispatch("value-change",{detail:n}))}Pi(){const t=this.a.player.el,{Cf:e}=I(Vs);t&&e()&&k(t,"data-preview",this.$state.active())}qa(t,e){this.a.remote.seeking(t,e)}Ri(t,e,s){this.Vd.cancel();const{live:n}=this.a.$state;if(n()&&e>=99){this.a.remote.seekToLiveEdge(s);return}this.a.remote.seek(t,s)}Qd(t){const{pauseWhileDragging:e}=this.$props;if(e()){const{paused:s}=this.a.$state;this.Wd=!s(),this.a.remote.pause(t)}}nb(t){this.Vd(this.Tb(t.detail),t)}Ec(t){const e=t.detail;this.Ri(this.Tb(e),e,t);const{pauseWhileDragging:s}=this.$props;s()&&this.Wd&&(this.a.remote.play(t),this.Wd=!1)}o(t){const{dragging:e}=this.$state;e()||!t.trigger||this.Ec(t)}Ka(){const t=this.$props.step()/this.a.$state.duration()*100;return Number.isFinite(t)?t:1}Pb(){const t=this.$props.keyStep()/this.a.$state.duration()*100;return Number.isFinite(t)?t:1}Ob(t){return U(t,3)}K(){const{canSeek:t}=this.a.$state;return this.$props.disabled()||!t()}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const t=this.Tb(this.$state.value()),{duration:e}=this.a.$state;return Number.isFinite(t)?`${ys(t)} out of ${ys(e())}`:"live"}Tb(t){const{duration:e}=this.a.$state;return U(t/100*e(),5)}Qi(t){const{liveEdge:e,duration:s}=this.a.$state,n=Math.max(0,Math.min(1,e()?1:Math.min(t,s())/s()));return Number.isNaN(n)?0:Number.isFinite(n)?n*100:100}Ki(t){const e=this.Tb(t),{live:s,duration:n}=this.a.$state;return Number.isFinite(e)?(s()?e-n():e).toFixed(0):"LIVE"}Li(t,e){const s=this.Tb(t),{live:n,duration:r}=this.a.$state,a=n()?s-r():s;return Number.isFinite(s)?`${a<0?"-":""}${Ye(Math.abs(a),e)}`:"LIVE"}};Fe.props={...St.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100},Fe.state=Fs;let ws=Fe;var xh=Object.defineProperty,Eh=Object.getOwnPropertyDescriptor,Je=(i,t,e,s)=>{for(var n=s>1?void 0:s?Eh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&xh(t,e,n),n};const di=class di extends ${constructor(){super(...arguments),this.La=null,this.R=[],this.Gc=g(null),this._=g([]),this.Ub=g(-1),this.Hc=g(-1),this.Zd=0,this.Xi=Rt(t=>{var o;let e,s=this._(),{clipStartTime:n}=this.a.$state,r=n(),a=this.Hk(s);for(let h=this.Zd;h{const t=m(this.Gc);!this.scope||!t||!t.cues.length||(this._.set(this._i(t.cues)),this.Ub.set(0),this.Zd=0)},150,!0)}get cues(){return this._()}get activeCue(){return this._()[this.Ub()]||null}get activePointerCue(){return this._()[this.Hc()]||null}onSetup(){this.a=S(),this.Xd=We(ws.state)}onAttach(t){Be(this.a.textTracks,"chapters",this.Kf.bind(this)),u(this._d.bind(this))}onConnect(){P(()=>this.H.bind(this))}onDestroy(){this.Kf(null)}setRefs(t){var e;if(this.R=t,(e=this.Yd)==null||e.dispose(),this.R.length===1){const s=this.R[0];s.style.width="100%",s.style.setProperty("--chapter-fill","var(--slider-fill)"),s.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.R.length>0&&Q(()=>this.Si(),this.Yd=ke())}Kf(t){m(this.Gc)!==t&&(this.H(),this.Gc.set(t))}H(){var t;this.R=[],this._.set([]),this.Ub.set(-1),this.Hc.set(-1),this.Zd=0,(t=this.Yd)==null||t.dispose()}Si(){this.R.length&&(u(this.Ti.bind(this)),u(this.Ui.bind(this)),u(this.Vi.bind(this)),u(this.Wi.bind(this)))}Ti(){const t=this._();if(!t.length)return;let e,{clipStartTime:s,clipEndTime:n}=this.a.$state,r=s(),a=n()||t[t.length-1].endTime,o=a-r,h=100;for(let c=0;ch?this.$d(h,l,"100%"):l=0&&s<100)return h;return 0}Wi(){this.Xi(this.Yi())}Zi(){const{bufferedEnd:t,duration:e}=this.a.$state;return U(Math.min(t()/Math.max(e(),1),1),3)*100}Hk(t){var n;const{clipEndTime:e}=this.a.$state,s=e();return s>0?s:((n=t[t.length-1])==null?void 0:n.endTime)||0}ae(t,e,s,n){if(this._().length===0)return 0;const a=n-s,o=Math.max(0,t.startTime-s),h=Math.min(n,t.endTime)-s,c=o/a,l=c*100,d=Math.min(1,c+(h-o)/a)*100;return Math.max(0,U(e>=d?100:(e-l)/(d-l)*100,3))}_i(t){let e=[],{clipStartTime:s,clipEndTime:n,duration:r}=this.a.$state,a=s(),o=n()||1/0;t=t.filter(l=>l.startTime<=o&&l.endTime>=a);const h=t[0];h&&h.startTime>a&&e.push(new window.VTTCue(a,h.startTime,""));for(let l=0;l0&&e.push(new window.VTTCue(d.endTime,d.endTime+f,""))}}const c=t[t.length-1];if(c){e.push(c);const l=r();l>=0&&l-c.endTime>1&&e.push(new window.VTTCue(c.endTime,r(),""))}return e}_d(){if(!this.scope)return;const{disabled:t}=this.$props;if(t()){this._.set([]),this.Ub.set(0),this.Zd=0;return}const e=this.Gc();if(e){const s=this.$i.bind(this);s(),P(b(e,"add-cue",s)),P(b(e,"remove-cue",s)),u(this.Fk.bind(this))}return this.La=this.aj(),this.La&&u(this.bj.bind(this)),()=>{this.La&&(this.La.textContent="",this.La=null)}}Fk(){this.a.$state.duration(),this.$i()}bj(){const t=this.activePointerCue||this.activeCue;this.La&&(this.La.textContent=(t==null?void 0:t.text)||"")}cj(){let t=this.el;for(;t&&t.getAttribute("role")!=="slider";)t=t.parentElement;return t}aj(){const t=this.cj();return t?t.querySelector('[data-part="chapter-title"]'):null}};di.props={disabled:!1};let Ut=di;Je([w],Ut.prototype,"cues",1);Je([w],Ut.prototype,"activeCue",1);Je([w],Ut.prototype,"activePointerCue",1);Je([D],Ut.prototype,"setRefs",1);const _=Et(),Ah=["a[href]","[tabindex]","input","select","button"].map(i=>`${i}:not([aria-hidden='true'])`).join(","),xn=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);class Ch{constructor(t){this.j=t,this.ka=0,this.xa=null,this.da=[]}get r(){return this.da}Nf(t){return b(t,"focus",this.Lb.bind(this)),this.xa=t,P(()=>{this.xa=null}),this}zc(){this.xa&&(this.ea(),b(this.xa,"keyup",this.zb.bind(this)),b(this.xa,"keydown",this.Ab.bind(this)),P(()=>{this.ka=0,this.da=[]}))}ea(){this.ka=0,this.da=this.dj()}Of(t=this.Pf()){const e=this.da[t],s=this.j.ej();e&&s&&requestAnimationFrame(()=>{s.scrollTop=e.offsetTop-s.offsetHeight/2+e.offsetHeight/2})}qb(t){var e;this.ka=t,(e=this.da[t])==null||e.focus(),this.Of(t)}Pf(){return this.da.findIndex(t=>t.getAttribute("aria-checked")==="true")}Lb(){this.ea(),setTimeout(()=>{const t=this.Pf();this.qb(t>=0?t:0)},100)}zb(t){xn.has(t.key)&&(t.stopPropagation(),t.preventDefault())}Ab(t){if(xn.has(t.key))switch(t.stopPropagation(),t.preventDefault(),t.key){case"Escape":this.j.fj(t);break;case"Tab":this.qb(this.be(t.shiftKey?-1:1));break;case"ArrowUp":this.qb(this.be(-1));break;case"ArrowDown":this.qb(this.be(1));break;case"Home":case"PageUp":this.qb(0);break;case"End":case"PageDown":this.qb(this.da.length-1);break}}be(t){var s;let e=this.ka;do e=(e+t+this.da.length)%this.da.length;while(((s=this.da[e])==null?void 0:s.offsetParent)===null);return e}dj(){if(!this.xa)return[];const t=this.xa.querySelectorAll(Ah),e=[],s=n=>n.getAttribute("role")==="menu";for(const n of t)n instanceof HTMLElement&&n.offsetParent!==null&&pr(this.xa,n,s)&&e.push(n);return e}}var Oh=Object.defineProperty,Lh=Object.getOwnPropertyDescriptor,de=(i,t,e,s)=>{for(var n=s>1?void 0:s?Lh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Oh(t,e,n),n};let Mh=0;const pi=class pi extends ${constructor(){super(),this.L=g(!1),this.Fc=g(!1),this.C=g(null),this.u=g(null),this.Qf=g(!1),this.Vb=new Set,this.Ic=null,this.rj=this.sj.bind(this),this.pj=this.tj.bind(this),this.qj=this.uj.bind(this),this.O=Rt(()=>{const e=m(this.u);if(!e)return;let s=0,n=getComputedStyle(e),r=[...e.children];for(const a of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])s+=parseFloat(n[a])||0;for(const a of r)if(a instanceof HTMLElement&&a.style.display==="contents")r.push(...a.children);else if(a.nodeType===3)s+=parseFloat(getComputedStyle(a).fontSize);else if(a instanceof HTMLElement){const o=getComputedStyle(a);if(o.display==="none")continue;s+=a.offsetHeight+(parseFloat(o.marginTop)||0)+(parseFloat(o.marginBottom)||0)}z(e,"--menu-height",s+"px")});const{showDelay:t}=this.$props;this.Jc=new Tr({C:this.C,u:this.u,yf:t,zc:(e,s,n)=>{Pt(e,a=>{this.L()?n(a):s(a)});const r=this.gj();r&&Pt(r,a=>{a.stopPropagation(),n(a)})},B:this.hj.bind(this)})}get triggerElement(){return this.C()}get contentElement(){return this.u()}get isSubmenu(){return!!this.ee}onSetup(){this.a=S();const t=++Mh;this.ce=`media-menu-${t}`,this.de=`media-menu-button-${t}`,this.rb=new Ch({ej:this.ij.bind(this),fj:this.close.bind(this)}),lt(_)&&(this.ee=I(_)),this.setAttributes({"data-open":this.L,"data-submenu":this.isSubmenu,"data-disabled":this.K.bind(this)}),it(_,{jj:this.C,L:this.L,Wb:g(""),Ma:this.Ma.bind(this),fe:this.fe.bind(this),ge:this.ge.bind(this),he:this.he.bind(this),ie:this.ie.bind(this),je:this.je.bind(this)})}onAttach(t){t.style.setProperty("display","contents"),this.rb.Nf(t)}onConnect(t){var e;u(this.kj.bind(this)),this.isSubmenu&&((e=this.ee)==null||e.je(this))}onDestroy(){this.C.set(null),this.u.set(null),this.Ic=null}kj(){const t=this.lj();this.isSubmenu||this.O(),this.Rf(t),t&&(u(()=>{const{height:e}=this.a.$state,s=this.u();s&&z(s,"--player-height",e()+"px")}),this.rb.zc(),this.listen("pointerup",this.mj.bind(this)),b(window,"pointerup",this.nj.bind(this)))}fe(t){const e=t.el,s=this.isSubmenu,n=B(this.K.bind(this));A(e,"tabindex",s?"-1":"0"),A(e,"role",s?"menuitem":"button"),k(e,"id",this.de),k(e,"aria-haspopup","menu"),k(e,"aria-expanded","false"),k(e,"data-submenu",this.isSubmenu),this.isSubmenu||this.Sf(e),u(()=>{k(e,"data-open",this.L()),k(e,"aria-disabled",n())}),this.C.set(e),P(()=>{this.C.set(null)})}ge(t){const e=t.el;if(e.style.setProperty("display","none"),k(e,"id",this.ce),A(e,"role","menu"),A(e,"tabindex","-1"),k(e,"data-submenu",this.isSubmenu),this.u.set(e),P(()=>this.u.set(null)),u(()=>k(e,"data-open",this.L())),this.rb.Nf(e),this.Rf(!1),!this.isSubmenu){const n=this.Xm.bind(this);t.listen("transitionstart",n),t.listen("transitionend",n),t.listen("animationend",this.O),t.listen("vds-menu-resize",this.O)}}he(t){this.Ic=t}Sf(t){b(t,"click",e=>e.stopPropagation()),b(t,"pointerup",e=>e.stopPropagation())}Rf(t){const e=m(this.u);e&&k(e,"aria-hidden",Se(!t))}ie(t){this.Qf.set(t)}hj(t,e){var r,a,o,h,c,l;if(e==null||e.stopPropagation(),this.L()===t)return;if(this.K()){t&&this.Jc.hide(e);return}(r=this.el)==null||r.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));const s=this.C(),n=this.u();if(s&&(k(s,"aria-controls",t&&this.ce),k(s,"aria-expanded",Se(t))),n&&k(n,"aria-labelledby",t&&this.de),this.L.set(t),this.oj(e),wt(),Pe(e)){t?n==null||n.focus():s==null||s.focus();for(const d of[this.el,n])d&&d.setAttribute("data-keyboard","")}else for(const d of[this.el,n])d&&d.removeAttribute("data-keyboard");this.dispatch(t?"open":"close",{trigger:e}),t?(!this.isSubmenu&&this.a.activeMenu!==this&&((a=this.a.activeMenu)==null||a.close(e),this.a.activeMenu=this),(h=(o=this.Ic)==null?void 0:o.ke)==null||h.call(o,e)):(this.isSubmenu?setTimeout(()=>{for(const d of this.Vb)d.close(e)},300):this.a.activeMenu=null,(l=(c=this.Ic)==null?void 0:c.Tj)==null||l.call(c,e)),t&&!Pe(e)&&requestAnimationFrame(()=>{this.rb.ea(),setTimeout(()=>{this.rb.Of()},100)})}lj(){return!this.K()&&this.L()}K(){return this.Fc()||this.Qf()}Ma(t){this.Fc.set(t)}mj(t){t.stopPropagation()}nj(t){var s;if(!(!(t.target instanceof Node)||(s=this.u())!=null&&s.contains(t.target))){if(this.isSubmenu)return setTimeout(this.close.bind(this,t),800);this.close(t)}}gj(){var e;const t=(e=this.el)==null?void 0:e.querySelector('[data-part="close-target"]');return this.el&&t&&pr(this.el,t,s=>s.getAttribute("role")==="menu")?t:null}ij(){if(this.isSubmenu){let t=this.el;for(;t&&t.tagName!=="media-menu"&&t.hasAttribute("data-submenu");)t=t.parentNode;return t}else return m(this.u)||null}oj(t){this.isSubmenu||(this.L()?this.a.remote.pauseControls(t):this.a.remote.resumeControls(t))}je(t){this.Vb.add(t),b(t,"open",this.pj),b(t,"close",this.qj),P(this.rj)}sj(t){this.Vb.delete(t)}tj(t){var e;this.isSubmenu&&((e=this.triggerElement)==null||e.setAttribute("aria-hidden","true"));for(const s of this.Vb)if(s!==t.target)for(const n of[s.el,s.triggerElement])n==null||n.setAttribute("aria-hidden","true")}uj(){var t;this.isSubmenu&&((t=this.triggerElement)==null||t.setAttribute("aria-hidden","false"));for(const e of this.Vb)for(const s of[e.el,e.triggerElement])s==null||s.setAttribute("aria-hidden","false")}Xm(t){const e=this.u();if(e&&t.propertyName==="height"){const s=t.type==="transitionstart";k(e,"data-resizing",s)}}open(t){m(this.L)||(this.Jc.show(t),wt())}close(t){m(this.L)&&(this.Jc.hide(t),wt())}};pi.props={showDelay:0};let Dt=pi;de([w],Dt.prototype,"triggerElement",1);de([w],Dt.prototype,"contentElement",1);de([w],Dt.prototype,"isSubmenu",1);de([D],Dt.prototype,"open",1);de([D],Dt.prototype,"close",1);var Dh=Object.defineProperty,jh=Object.getOwnPropertyDescriptor,Ih=(i,t,e,s)=>{for(var n=s>1?void 0:s?jh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Dh(t,e,n),n};const fi=class fi extends ${constructor(){super(),this.zn=g(null),new ut}get expanded(){var t;return((t=this.l)==null?void 0:t.L())??!1}onSetup(){this.l=I(_)}onAttach(t){this.l.fe(this),u(this.Qb.bind(this)),A(t,"type","button")}onConnect(t){u(this.An.bind(this)),this.vf();const e=new MutationObserver(this.vf.bind(this));e.observe(t,{attributeFilter:["data-part"],childList:!0,subtree:!0}),P(()=>e.disconnect()),Pt(t,s=>{this.dispatch("select",{trigger:s})})}Qb(){this.l.ie(this.$props.disabled())}An(){const t=this.zn();t&&u(()=>{const e=this.l.Wb();e&&(t.textContent=e)})}vf(){var e;const t=(e=this.el)==null?void 0:e.querySelector('[data-part="hint"]');this.zn.set(t??null)}};fi.props={disabled:!1};let vs=fi;Ih([w],vs.prototype,"expanded",1);const mi=class mi extends ${constructor(){super(...arguments),this.A=null}onSetup(){this.a=S(),it(ve,{Ja:this.vj.bind(this)})}onAttach(t){t.style.setProperty("display","contents")}onConnect(t){}onDestroy(){var t;(t=this.A)==null||t.remove(),this.A=null}vj(t){this.Tf(!1),this.A=t,ds(()=>{ds(()=>{this.connectScope&&u(this.Qb.bind(this))})})}Qb(){const{fullscreen:t}=this.a.$state,{disabled:e}=this.$props,s=e();this.Tf(s==="fullscreen"?!t():!s)}Tf(t){var n;if(!this.A)return;let e=this.wj(this.$props.container());if(!e)return;const s=this.A.parentElement===e;k(this.A,"data-portal",t),t?s||(this.A.remove(),e.append(this.A)):s&&this.A.parentElement===e&&(this.A.remove(),(n=this.el)==null||n.append(this.A))}wj(t){return t instanceof HTMLElement?t:t?document.querySelector(t):document.body}};mi.props={container:null,disabled:!1};let En=mi;const ve=Et(),bi=class bi extends ${constructor(){super(),new ut;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){if(this.l=I(_),this.l.ge(this),lt(ve)){const e=I(ve);e&&(it(ve,null),e.Ja(t),P(()=>e.Ja(null)))}}onConnect(t){u(this.Nd.bind(this))}Nd(){if(!this.el)return;const t=this.$props.placement();if(t){Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});const{offset:e,alignOffset:s}=this.$props;return fr(this.el,this.Cc(),t,{offsetVarName:"media-menu",xOffset:s(),yOffset:e()})}else this.el.removeAttribute("style"),this.el.style.display="none"}Cc(){return this.l.jj()}};bi.props={placement:null,offset:0,alignOffset:0};let An=bi;const Ts=Et();class Qt extends at{constructor(){super(...arguments),this.sb=new Set,this.la=g(""),this.d=null,this.Aj=this.B.bind(this)}get xj(){return Array.from(this.sb).map(t=>t.la())}get value(){return this.la()}set value(t){this.B(t)}onSetup(){it(Ts,{add:this.yj.bind(this),remove:this.zj.bind(this)})}onAttach(t){lt(_)||A(t,"role","radiogroup"),this.setAttributes({value:this.la})}onDestroy(){this.sb.clear()}yj(t){this.sb.has(t)||(this.sb.add(t),t.Kc=this.Aj,t.Xb(t.la()===this.la()))}zj(t){t.Kc=null,this.sb.delete(t)}B(t,e){var a;const s=m(this.la);if(!t||t===s)return;const n=this.Uf(s),r=this.Uf(t);n==null||n.Xb(!1,e),r==null||r.Xb(!0,e),this.la.set(t),(a=this.o)==null||a.call(this,t,e)}Uf(t){for(const e of this.sb)if(t===m(e.la))return e;return null}}var Rh=Object.defineProperty,qh=Object.getOwnPropertyDescriptor,Pr=(i,t,e,s)=>{for(var n=s>1?void 0:s?qh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Rh(t,e,n),n};const gi=class gi extends ${get values(){return this.d.xj}get value(){return this.d.value}set value(t){this.d.value=t}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){u(this.D.bind(this))}D(){this.d.value=this.$props.value()}o(t,e){const s=this.createEvent("change",{detail:t,trigger:e});this.dispatch(s)}};gi.props={value:""};let Me=gi;Pr([w],Me.prototype,"values",1);Pr([w],Me.prototype,"value",1);var _h=Object.defineProperty,Nh=Object.getOwnPropertyDescriptor,Fh=(i,t,e,s)=>{for(var n=s>1?void 0:s?Nh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&_h(t,e,n),n};const yi=class yi extends ${constructor(){super(),this.Na=g(!1),this.d={la:this.$props.value,Xb:this.Xb.bind(this),Kc:null},new ut}get checked(){return this.Na()}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.Na,"aria-checked":B(this.Na)})}onAttach(t){const e=lt(_);A(t,"tabindex",e?"-1":"0"),A(t,"role",e?"menuitemradio":"radio"),u(this.D.bind(this))}onConnect(t){this.Bj(),Pt(t,this.v.bind(this)),P(this.ya.bind(this))}ya(){Q(()=>{I(Ts).remove(this.d)},this.connectScope)}Bj(){I(Ts).add(this.d)}D(){var s,n;const{value:t}=this.$props,e=t();m(this.Na)&&((n=(s=this.d).Kc)==null||n.call(s,e))}v(t){var e,s;m(this.Na)||(this.B(!0,t),this.Cj(t),(s=(e=this.d).Kc)==null||s.call(e,m(this.$props.value),t))}Xb(t,e){m(this.Na)!==t&&this.B(t,e)}B(t,e){this.Na.set(t),this.dispatch("change",{detail:t,trigger:e})}Cj(t){this.dispatch("select",{trigger:t})}};yi.props={value:""};let ks=yi;Fh([w],ks.prototype,"checked",1);var Vh=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,Ks=(i,t,e,s)=>{for(var n=s>1?void 0:s?Hh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Vh(t,e,n),n};const $i=class $i extends ${constructor(){super(),this.ka=g(0),this.z=g(null),this.J=g([]),this.d=new Qt,this.d.o=this.o.bind(this)}get value(){return this.d.value}get disabled(){var t;return!((t=this.J())!=null&&t.length)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_));const{thumbnails:t}=this.$props;this.setAttributes({"data-thumbnails":()=>!!t()})}onAttach(t){var e;(e=this.l)==null||e.he({ke:this.ke.bind(this)})}getOptions(){const{clipStartTime:t,clipEndTime:e}=this.a.$state,s=t(),n=e()||1/0;return this.J().map((r,a)=>({cue:r,value:a.toString(),label:r.text,startTime:Ye(Math.max(0,r.startTime-s)),duration:ys(Math.min(n,r.endTime)-Math.max(s,r.startTime))}))}ke(){m(()=>this.jb())}onConnect(t){u(this.D.bind(this)),u(this.jb.bind(this)),u(this.ma.bind(this)),u(this.tk.bind(this)),Be(this.a.textTracks,"chapters",this.z.set)}tk(){const t=this.z();if(!t)return;const e=this.$i.bind(this,t);return e(),b(t,"add-cue",e),b(t,"remove-cue",e),()=>{this.J.set([])}}$i(t){const{clipStartTime:e,clipEndTime:s}=this.a.$state,n=e(),r=s()||1/0;this.J.set([...t.cues].filter(a=>a.startTime<=r&&a.endTime>=n))}D(){this.d.value=this.na()}jb(){var c;if(!((c=this.l)!=null&&c.L()))return;if(!this.z()){this.ka.set(-1);return}const{realCurrentTime:e,clipStartTime:s,clipEndTime:n}=this.a.$state,r=s(),a=n()||1/0,o=e(),h=this.J().findIndex(l=>ls(l,o));if(this.ka.set(h),h>=0){const l=this.J()[h],d=this.el.querySelector("[aria-checked='true']"),p=Math.max(r,l.startTime),f=Math.min(a,l.endTime)-p,y=Math.max(0,o-p)/f*100;d&&z(d,"--progress",U(y,3)+"%")}}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){return this.ka().toString()}o(t,e){if(this.disabled||!e)return;const s=+t,n=this.J(),{clipStartTime:r}=this.a.$state;ot(s)&&(n!=null&&n[s])&&(this.ka.set(s),this.a.remote.seek(n[s].startTime-r(),e),this.dispatch("change",{detail:n[s],trigger:e}))}};$i.props={thumbnails:null};let se=$i;Ks([w],se.prototype,"value",1);Ks([w],se.prototype,"disabled",1);Ks([D],se.prototype,"getOptions",1);var Kh=Object.defineProperty,Uh=Object.getOwnPropertyDescriptor,Us=(i,t,e,s)=>{for(var n=s>1?void 0:s?Uh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Kh(t,e,n),n};const wi=class wi extends ${get value(){return this.d.value}get disabled(){const{audioTracks:t}=this.a.$state;return t().length<=1}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){u(this.D.bind(this)),u(this.ma.bind(this)),u(this.Oa.bind(this))}getOptions(){const{audioTracks:t}=this.a.$state;return t().map(e=>({track:e,label:e.label,value:e.label.toLowerCase()}))}D(){this.d.value=this.na()}Oa(){var n;const{emptyLabel:t}=this.$props,{audioTrack:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set((s==null?void 0:s.label)??t())}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){const{audioTrack:t}=this.a.$state,e=t();return e?e.label.toLowerCase():""}o(t,e){if(this.disabled)return;const s=this.a.audioTracks.toArray().findIndex(n=>n.label.toLowerCase()===t);if(s>=0){const n=this.a.audioTracks[s];this.a.remote.changeAudioTrack(s,e),this.dispatch("change",{detail:n,trigger:e})}}};wi.props={emptyLabel:"Default"};let ie=wi;Us([w],ie.prototype,"value",1);Us([w],ie.prototype,"disabled",1);Us([D],ie.prototype,"getOptions",1);var Wh=Object.defineProperty,Qh=Object.getOwnPropertyDescriptor,Ws=(i,t,e,s)=>{for(var n=s>1?void 0:s?Qh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Wh(t,e,n),n};const vi=class vi extends ${get value(){return this.d.value}get disabled(){const{hasCaptions:t}=this.a.$state;return!t()}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){var e;(e=super.onConnect)==null||e.call(this,t),u(this.D.bind(this)),u(this.ma.bind(this)),u(this.Oa.bind(this))}getOptions(){const{offLabel:t}=this.$props,{textTracks:e}=this.a.$state;return[{value:"off",label:t},...e().filter(K).map(s=>({track:s,label:s.label,value:this.xk(s)}))]}D(){this.d.value=this.na()}Oa(){var n;const{offLabel:t}=this.$props,{textTrack:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set(s&&K(s)&&s.mode==="showing"?s.label:t())}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){const{textTrack:t}=this.a.$state,e=t();return e&&K(e)&&e.mode==="showing"?this.xk(e):"off"}o(t,e){if(this.disabled)return;if(t==="off"){const n=this.a.textTracks.selected;if(n){const r=this.a.textTracks.toArray().indexOf(n);this.a.remote.changeTextTrackMode(r,"disabled",e),this.dispatch("change",{detail:null,trigger:e})}return}const s=this.a.textTracks.toArray().findIndex(n=>this.xk(n)===t);if(s>=0){const n=this.a.textTracks[s];this.a.remote.changeTextTrackMode(s,"showing",e),this.dispatch("change",{detail:n,trigger:e})}}xk(t){return t.id+":"+t.kind+"-"+t.label.toLowerCase()}};vi.props={offLabel:"Off"};let ne=vi;Ws([w],ne.prototype,"value",1);Ws([w],ne.prototype,"disabled",1);Ws([D],ne.prototype,"getOptions",1);var zh=Object.defineProperty,Bh=Object.getOwnPropertyDescriptor,Qs=(i,t,e,s)=>{for(var n=s>1?void 0:s?Bh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&zh(t,e,n),n};const Xh=[.25,.5,.75,1,1.25,1.5,1.75,2],Ti=class Ti extends ${get value(){return this.d.value}get disabled(){const{rates:t}=this.$props,{canSetPlaybackRate:e}=this.a.$state;return!e()||t().length===0}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){u(this.D.bind(this)),u(this.Oa.bind(this)),u(this.ma.bind(this))}getOptions(){const{rates:t,normalLabel:e}=this.$props;return t().map(s=>({label:s===1?e:s+"×",value:s.toString()}))}D(){this.d.value=this.na()}Oa(){var n;const{normalLabel:t}=this.$props,{playbackRate:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set(s===1?t():s+"×")}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){const{playbackRate:t}=this.a.$state;return t().toString()}o(t,e){if(this.disabled)return;const s=+t;this.a.remote.changePlaybackRate(s,e),this.dispatch("change",{detail:s,trigger:e})}};Ti.props={normalLabel:"Normal",rates:Xh};let re=Ti;Qs([w],re.prototype,"value",1);Qs([w],re.prototype,"disabled",1);Qs([D],re.prototype,"getOptions",1);var Yh=Object.defineProperty,Jh=Object.getOwnPropertyDescriptor,zs=(i,t,e,s)=>{for(var n=s>1?void 0:s?Jh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Yh(t,e,n),n};const ki=class ki extends ${constructor(){super(),this.Dj=vt(()=>{const{qualities:t}=this.a.$state;return[...t()].sort((e,s)=>s.height===e.height?s.bitrate-e.bitrate:s.height-e.height)}),this.d=new Qt,this.d.o=this.o.bind(this)}get value(){return this.d.value}get disabled(){const{canSetQuality:t,qualities:e}=this.a.$state;return!t()||e().length===0}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){u(this.D.bind(this)),u(this.ma.bind(this)),u(this.Oa.bind(this))}getOptions(){const{autoLabel:t,hideBitrate:e}=this.$props;return[{value:"auto",label:t},...this.Dj().map(s=>{const n=s.bitrate>=0?`${U(s.bitrate/1e6,2)} Mbps`:null;return{quality:s,label:s.height+"p",value:this.le(s),bitrate:()=>e()?null:n}})]}D(){this.d.value=this.na()}Oa(){var r;const{autoLabel:t}=this.$props,{autoQuality:e,quality:s}=this.a.$state,n=s()?s().height+"p":"";(r=this.l)==null||r.Wb.set(e()?t()+(n?` (${n})`:""):n)}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}o(t,e){if(this.disabled)return;if(t==="auto"){this.a.remote.changeQuality(-1,e),this.dispatch("change",{detail:"auto",trigger:e});return}const{qualities:s}=this.a.$state,n=m(s).findIndex(r=>this.le(r)===t);if(n>=0){const r=m(s)[n];this.a.remote.changeQuality(n,e),this.dispatch("change",{detail:r,trigger:e})}}na(){const{quality:t,autoQuality:e}=this.a.$state;if(e())return"auto";const s=t();return s?this.le(s):"auto"}le(t){return t.height+"_"+t.bitrate}};ki.props={autoLabel:"Auto",hideBitrate:!1};let ae=ki;zs([w],ae.prototype,"value",1);zs([w],ae.prototype,"disabled",1);zs([D],ae.prototype,"getOptions",1);const Pi=class Pi extends ${constructor(){super(...arguments),this.i=null,this.Pa=0,this.Vf=-1}onSetup(){this.a=S();const{event:t,action:e}=this.$props;this.setAttributes({event:t,action:e})}onAttach(t){t.setAttribute("data-media-gesture",""),t.style.setProperty("pointer-events","none")}onConnect(t){var e;this.i=(e=this.a.player.el)==null?void 0:e.querySelector("[data-media-provider]"),u(this.Ej.bind(this))}Ej(){let t=this.$props.event(),e=this.$props.disabled();!this.i||!t||e||(/^dbl/.test(t)&&(t=t.split(/^dbl/)[1]),(t==="pointerup"||t==="pointerdown")&&this.a.$state.pointer()==="coarse"&&(t=t==="pointerup"?"touchend":"touchstart"),b(this.i,t,this.Fj.bind(this),{passive:!1}))}Fj(t){if(this.$props.disabled()||_i(t)&&(t.button!==0||this.a.activeMenu)||$e(t)&&this.a.activeMenu||qs(t)||!this.Gj(t))return;t.MEDIA_GESTURE=!0,t.preventDefault();const e=m(this.$props.event);if(!(e==null?void 0:e.startsWith("dbl")))this.Pa===0&&setTimeout(()=>{this.Pa===1&&this.Wf(t)},250);else if(this.Pa===1){queueMicrotask(()=>this.Wf(t)),clearTimeout(this.Vf),this.Pa=0;return}this.Pa===0&&(this.Vf=window.setTimeout(()=>{this.Pa=0},275)),this.Pa++}Wf(t){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.Hj()&&this.Ij(m(this.$props.action),t),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}Gj(t){if(!this.el)return!1;if(_i(t)||Ir(t)||$e(t)){const e=$e(t)?t.changedTouches[0]??t.touches[0]:void 0,s=(e==null?void 0:e.clientX)??t.clientX,n=(e==null?void 0:e.clientY)??t.clientY,r=this.el.getBoundingClientRect(),a=n>=r.top&&n<=r.bottom&&s>=r.left&&s<=r.right;return t.type.includes("leave")?!a:a}return!0}Hj(){const t=this.a.player.el.querySelectorAll("[data-media-gesture][data-triggered]");return Array.from(t).sort((e,s)=>+getComputedStyle(s).zIndex-+getComputedStyle(e).zIndex)[0]===this.el}Ij(t,e){if(!t)return;const s=new M("will-trigger",{detail:t,cancelable:!0,trigger:e});if(this.dispatchEvent(s),s.defaultPrevented)return;const[n,r]=t.replace(/:([a-z])/,"-$1").split(":");t.includes(":fullscreen")?this.a.remote.toggleFullscreen("prefer-media",e):t.includes("seek:")?this.a.remote.seek(m(this.a.$state.currentTime)+(+r||0),e):this.a.remote[Kr(n)](e),this.dispatch("trigger",{detail:t,trigger:e})}};Pi.props={disabled:!1,event:void 0,action:void 0};let Cn=Pi;class Gh{constructor(t){this.S=t,this.priority=10,this.z=null,this.sa=Ds()}attach(){}canRender(){return!0}detach(){this.sa.empty(),this.S.reset(),this.z=null}changeTrack(t){!t||this.z===t||(this.sa.empty(),t.readyState<2?(this.S.reset(),this.sa.add(b(t,"load",()=>this.Xf(t),{once:!0}))):this.Xf(t),this.sa.add(b(t,"add-cue",e=>{this.S.addCue(e.detail)}),b(t,"remove-cue",e=>{this.S.removeCue(e.detail)})),this.z=t)}Xf(t){this.S.changeTrack({cues:[...t.cues],regions:[...t.regions]})}}const Si=class Si extends ${onSetup(){this.a=S(),this.setAttributes({"aria-hidden":B(this.lb.bind(this))})}onAttach(t){t.style.setProperty("pointer-events","none")}onConnect(t){if(this.S){u(this.Yf.bind(this));return}st(()=>import("./prod-D24nP0G3.js").then(e=>e.d),__vite__mapDeps([0,1])).then(e=>{this.connectScope&&Q(()=>{this.W=e;const{CaptionsRenderer:s}=this.W;this.S=new s(t),this.Qa=new Gh(this.S),u(this.Yf.bind(this))},this.connectScope)})}onDestroy(){var t;this.Qa&&(this.Qa.detach(),this.a.textRenderers.remove(this.Qa)),(t=this.S)==null||t.destroy()}lb(){const{textTrack:t,remotePlaybackState:e}=this.a.$state,s=t();return this.a.$iosControls()||e()==="connected"||!s||!K(s)}Yf(){const{viewType:t}=this.a.$state;return t()==="audio"?this.Jj():this.Kj()}Jj(){return u(this._d.bind(this)),()=>{this.el.textContent=""}}_d(){if(this.lb())return;const{textTrack:t}=this.a.$state;this.Zf(),b(t(),"cue-change",this.Zf.bind(this)),u(this.Lj.bind(this))}Zf(){this.el.textContent="";const{realCurrentTime:t,textTrack:e}=this.a.$state,s=m(t),n=m(e).activeCues,{renderVTTCueString:r}=this.W;for(const a of n){const o=document.createElement("div");o.setAttribute("data-part","cue"),o.innerHTML=r(a,s),this.el.append(o)}}Lj(){const{realCurrentTime:t}=this.a.$state,{updateTimedVTTCueNodes:e}=this.W;e(this.el,t())}Kj(){return u(this.Mj.bind(this)),u(this.Nj.bind(this)),this.a.textRenderers.add(this.Qa),()=>{this.el.textContent="",this.Qa.detach(),this.a.textRenderers.remove(this.Qa)}}Mj(){this.S.dir=this.$props.textDir()}Nj(){if(this.lb())return;const{realCurrentTime:t}=this.a.$state;this.S.currentTime=t()}};Si.props={textDir:"ltr"};let On=Si;const Ve=class Ve extends ${constructor(){super(...arguments),this.wn=""}onSetup(){this.a=S(),this.fd(),this.$k(),this.Hh(),this.ob()}onAttach(t){t.style.setProperty("pointer-events","none"),u(this.Ud.bind(this)),u(this.fd.bind(this)),u(this.$k.bind(this)),u(this.Hh.bind(this)),u(this.ob.bind(this));const{started:e}=this.a.$state;this.setAttributes({"data-visible":()=>!e()&&!this.$state.hidden(),"data-loading":this.Rb.bind(this),"data-error":this.wa.bind(this),"data-hidden":this.$state.hidden})}onConnect(t){u(this.Pk.bind(this)),u(this.Ea.bind(this))}wa(){const{error:t}=this.$state;return!xt(t())}Pk(){const{canLoadPoster:t,poster:e}=this.a.$state;!t()&&e()&&le(e(),"preconnect")}ob(){const{src:t}=this.$props,{$iosControls:e}=this.a,{poster:s}=this.a.$state;this.el&&k(this.el,"display",e()?"none":null),this.$state.hidden.set(this.wa()||!(t()||s())||e())}Rb(){const{loading:t,hidden:e}=this.$state;return!e()&&t()}Ud(){const t=this.$state.img();t&&(b(t,"load",this.lc.bind(this)),b(t,"error",this.U.bind(this)))}fd(){const{poster:t}=this.a.$props,{canLoadPoster:e,providedPoster:s,inferredPoster:n}=this.a.$state,r=this.$props.src()||"",a=r||t()||n();this.wn===s()&&s.set(r),this.$state.src.set(e()&&a.length?a:null),this.wn=r}$k(){const{src:t}=this.$props,{alt:e}=this.$state,{poster:s}=this.a.$state;e.set(t()||s()?this.$props.alt():null)}Hh(){const{crossOrigin:t}=this.$props,{crossOrigin:e}=this.$state,{crossOrigin:s,poster:n}=this.a.$state,r=t()!==null?t():s();e.set(/ytimg\.com|vimeo/.test(n()||"")?null:r===!0?"anonymous":r)}Ea(){const{loading:t,error:e}=this.$state,{canLoadPoster:s,poster:n}=this.a.$state;t.set(s()&&!!n()),e.set(null)}lc(){const{loading:t,error:e}=this.$state;t.set(!1),e.set(null)}U(t){const{loading:e,error:s}=this.$state;e.set(!1),s.set(t)}};Ve.props={src:null,alt:null,crossOrigin:null},Ve.state=new It({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});let Ln=Ve;const He=class He extends ${constructor(){super(...arguments),this.cn=g(null)}onSetup(){this.a=S(),this.ag();const{type:t}=this.$props;this.setAttributes({"data-type":t,"data-remainder":this.fn.bind(this)})}onAttach(t){t.hasAttribute("role")||u(this.hn.bind(this)),u(this.ag.bind(this))}onConnect(t){u(()=>{if(!this.$props.toggle()){this.cn.set(null);return}Pt(t,this.gn.bind(this))})}ag(){const{type:t,padHours:e,padMinutes:s,showHours:n}=this.$props,r=this.Oj(t()),a=this.a.$state.duration(),o=this.fn();if(!Number.isFinite(r+a)){this.$state.timeText.set("LIVE");return}const h=o?Math.max(0,a-r):r,c=Ye(h,{padHrs:e(),padMins:s(),showHrs:n()});this.$state.timeText.set((o?"-":"")+c)}hn(){if(!this.el)return;const{toggle:t}=this.$props;k(this.el,"role",t()?"timer":null),k(this.el,"tabindex",t()?0:null)}Oj(t){const{bufferedEnd:e,duration:s,currentTime:n}=this.a.$state;switch(t){case"buffered":return e();case"duration":return s();default:return n()}}fn(){return this.$props.remainder()&&this.cn()!==!1}gn(t){if(t.preventDefault(),this.cn()===null){this.cn.set(!this.$props.remainder());return}this.cn.set(e=>!e)}};He.props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1},He.state=new It({timeText:""});let Mn=He;export{fn as $,lo as A,kc as B,$ as C,Xh as D,sc as E,Qn as F,vc as G,ac as H,bc as I,mc as J,mr as K,br as L,ms as M,Pe as N,Un as O,Yi as P,vs as Q,Ln as R,wc as S,kn as T,Mn as U,dn as V,mn as W,bn as X,wn as Y,gn as Z,yn as _,xc as a,vo as a$,$n as a0,ie as a1,ne as a2,Dt as a3,An as a4,re as a5,ae as a6,We as a7,$s as a8,va as a9,nc as aA,ar as aB,hc as aC,Xe as aD,tc as aE,To as aF,M as aG,L as aH,J as aI,ot as aJ,Q as aK,lc as aL,cc as aM,Ua as aN,us as aO,T as aP,hr as aQ,le as aR,_t as aS,Fa as aT,ss as aU,dc as aV,es as aW,hs as aX,uc as aY,Lr as aZ,gc as a_,ws as aa,Pn as ab,Sn as ac,ds as ad,yc as ae,ee as af,$c as ag,z as ah,ut as ai,we as aj,On as ak,Cn as al,cn as am,pc as an,pn as ao,bs as ap,ln as aq,un as ar,En as as,se as at,ks as au,Me as av,gs as aw,Ut as ax,ke as ay,Sc as az,Rt as b,rc as b0,In as b1,vt as c,oc as d,u as e,it as f,ec as g,Et as h,v as i,I as j,w as k,fc as l,g as m,Ms as n,P as o,m as p,ho as q,ht as r,k as s,Ur as t,S as u,ic as v,H as w,b as x,Tc as y,Pc as z}; +`);for(const e of t)if(e.startsWith("#EXT-X-TARGETDURATION")){const s=parseFloat(e.split(":")[1]);if(!isNaN(s))return s}return-1}const vr=new Map;class ah{constructor(t,e,s,n=[]){this.xc=t,this.a=e,this.ha=s,this.Gd=!1;const r=new ps,a=new yr,o=new Uo,h=new Qo,c=new Wo,l=[h,c];this.Hd=vt(()=>{const p=e.$state.remotePlaybackLoader(),f=e.$props.preferNativeHLS()?[a,o,r,...l,...n]:[r,a,o,...l,...n];return p?[p,...f]:f});const{$state:d}=e;d.sources.set(on(e.$props.src()));for(const p of d.sources()){const f=this.Hd().find(x=>x.canPlay(p));if(!f)continue;const y=f.mediaType(p);this.a.$state.source.set(p),this.a.$state.mediaType.set(y),this.a.$state.inferredViewType.set(y),this.ha.set(f),this.Gd=!0}}get c(){return this.a.delegate.c}connect(){const t=this.ha();this.Gd&&(this.qf(this.a.$state.source(),t),this.rf(t),this.Gd=!1),u(this.Xh.bind(this)),u(this.Yh.bind(this)),u(this.Zh.bind(this)),u(this._h.bind(this)),u(this.Ok.bind(this))}Xh(){this.c("sources-change",[...on(this.a.$props.src()),...this.xc()])}Yh(){var a;const{$state:t}=this.a,e=t.sources(),s=m(t.source),n=this.sf(s,e);if(((a=e[0])==null?void 0:a.src)&&!n.src&&!n.type){const{crossOrigin:o}=t,h=Ae(o()),c=new AbortController;return Promise.all(e.map(l=>v(l.src)&&l.type==="?"?fetch(l.src,{method:"HEAD",credentials:h,signal:c.signal}).then(d=>(l.type=d.headers.get("content-type")||"??",vr.set(l.src,l.type),l)).catch(()=>l):l)).then(l=>{c.signal.aborted||(this.sf(m(t.source),l),wt())}),()=>c.abort()}wt()}sf(t,e){let s={src:"",type:""},n=null,r=this.Hd();for(const a of e){const o=r.find(h=>h.canPlay(a));if(o){s=a,n=o;break}}return hn(t,s)||this.qf(s,n),n!==m(this.ha)&&this.rf(n),s}qf(t,e){this.c("source-change",t),this.c("media-type-change",(e==null?void 0:e.mediaType(t))||"unknown")}rf(t){this.a.$providerSetup.set(!1),this.c("provider-change",null),t&&m(()=>{var e;return(e=t.preconnect)==null?void 0:e.call(t,this.a)}),this.ha.set(t),this.c("provider-loader-change",t)}Zh(){const t=this.a.$provider();if(!(!t||m(this.a.$providerSetup))){if(this.a.$state.canLoad()){Q(()=>t.setup(),t.scope),this.a.$providerSetup.set(!0);return}m(()=>{var e;return(e=t.preconnect)==null?void 0:e.call(t)})}}_h(){if(!this.a.$providerSetup())return;const t=this.a.$provider(),e=this.a.$state.source(),s=m(this.a.$state.crossOrigin),n=m(this.a.$props.preferNativeHLS);if(!hn(t==null?void 0:t.currentSrc,e)){if(this.a.$state.canLoad()){const r=new AbortController;return Xe(e)?(n||!hr())&&wr(e.src,{credentials:Ae(s),signal:r.signal}).then(a=>{this.c("stream-type-change",a)}).catch(Ms):this.c("stream-type-change","on-demand"),m(()=>{const a=m(this.a.$state.preload);return t==null?void 0:t.loadSource(e,a).catch(o=>{})}),()=>r.abort()}try{v(e.src)&&le(new URL(e.src).origin)}catch{}}}Ok(){const t=this.ha(),{providedPoster:e,source:s,canLoadPoster:n}=this.a.$state;if(!t||!t.loadPoster||!s()||!n()||e())return;const r=new AbortController,a=new M("source-change",{detail:s});return t.loadPoster(s(),this.a,r).then(o=>{this.c("poster-change",o||"",a)}).catch(()=>{this.c("poster-change","",a)}),()=>{r.abort()}}}function on(i){return(H(i)?i:[i&&!v(i)&&"src"in i?i:{src:i||""}]).map(({src:t,type:e,...s})=>({src:t,type:e??(v(t)?vr.get(t):null)??(!v(t)||t.startsWith("blob:")?"video/object":t.includes("youtube")?"video/youtube":t.includes("vimeo")&&!t.includes("progressive_redirect")&&!t.includes(".m3u8")?"video/vimeo":"?"),...s})).sort(t=>t.type==="?"?1:-1)}function hn(i,t){return(i==null?void 0:i.src)===(t==null?void 0:t.src)&&(i==null?void 0:i.type)===(t==null?void 0:t.type)}class oh{constructor(t,e){this.yc=t,this.a=e,this.tf=[],u(this.$h.bind(this))}$h(){const t=this.yc();for(const e of this.tf)if(!t.some(s=>s.id===e.id)){const s=e.id&&this.a.textTracks.getById(e.id);s&&this.a.textTracks.remove(s)}for(const e of t){const s=e.id||us.createId(e);this.a.textTracks.getById(s)||(e.id=s,this.a.textTracks.add(e))}this.tf=t}}var hh=Object.defineProperty,ch=Object.getOwnPropertyDescriptor,lh=(i,t,e,s)=>{for(var n=s>1?void 0:s?ch(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&hh(t,e,n),n};const Ie=class Ie extends ${constructor(){super(...arguments),this.xc=g([]),this.yc=g([]),this.ha=null,this.Id=-1}onSetup(){this.a=S(),this.uf=new ah(this.xc,this.a,this.$state.loader,this.$props.loaders())}onAttach(t){t.setAttribute("data-media-provider","")}onConnect(t){this.uf.connect(),new oh(this.yc,this.a);const e=new ResizeObserver(Rt(this.O.bind(this)));e.observe(t);const s=new MutationObserver(this.vf.bind(this));s.observe(t,{attributes:!0,childList:!0}),this.O(),this.vf(),P(()=>{e.disconnect(),s.disconnect()})}load(t){window.cancelAnimationFrame(this.Id),this.Id=requestAnimationFrame(()=>this.ai(t)),P(()=>{window.cancelAnimationFrame(this.Id)})}ai(t){if(!this.scope)return;const e=this.$state.loader(),{$provider:s}=this.a;this.ha===e&&(e==null?void 0:e.target)===t&&m(s)||(this.wf(),this.ha=e,e&&(e.target=t||null),!(!e||!t)&&e.load(this.a).then(n=>{this.scope&&m(this.$state.loader)===e&&this.a.delegate.c("provider-change",n)}))}onDestroy(){this.ha=null,this.wf()}wf(){this.a.delegate.c("provider-change",null)}O(){if(!this.el)return;const t=this.a.player,e=this.el.offsetWidth,s=this.el.offsetHeight;t&&(t.$state.mediaWidth.set(e),t.$state.mediaHeight.set(s),t.el&&(z(t.el,"--media-width",e+"px"),z(t.el,"--media-height",s+"px")))}vf(){const t=[],e=[],s=this.el.children;for(const n of s)n.hasAttribute("data-vds")||(n instanceof HTMLSourceElement?t.push({src:n.src,type:n.type}):n instanceof HTMLTrackElement&&e.push({id:n.id,src:n.src,kind:n.track.kind,language:n.srclang,label:n.label,default:n.default,type:n.getAttribute("data-type")}));this.xc.set(t),this.yc.set(e),wt()}};Ie.props={loaders:[]},Ie.state=new It({loader:null});let ms=Ie;lh([D],ms.prototype,"load",1);const Xs=class Xs extends ${onSetup(){this.a=S(),u(this.bi.bind(this))}onAttach(t){const{pictureInPicture:e,fullscreen:s}=this.a.$state;z(t,"pointer-events","none"),A(t,"role","group"),this.setAttributes({"data-visible":this.xf.bind(this),"data-fullscreen":s,"data-pip":e}),u(()=>{this.dispatch("change",{detail:this.xf()})}),u(this.ci.bind(this)),u(()=>{const n=s();for(const r of["top","right","bottom","left"])z(t,`padding-${r}`,n&&`env(safe-area-inset-${r})`)})}ci(){if(!this.el)return;const{$iosControls:t}=this.a,{controls:e}=this.a.$state,s=e()||t();k(this.el,"aria-hidden",s?"true":null),z(this.el,"display",s?"none":null)}bi(){const{controls:t}=this.a.player,{hideDelay:e,hideOnMouseLeave:s}=this.$props;t.defaultDelay=e()===2e3?this.a.$props.controlsDelay():e(),t.hideOnMouseLeave=s()}xf(){const{controlsVisible:t}=this.a.$state;return t()}};Xs.props={hideDelay:2e3,hideOnMouseLeave:!1};let cn=Xs;class Tr extends at{constructor(t){super(),this.j=t,this.Ac=-1,this.Bc=-1,this.Ia=null,u(this.di.bind(this))}onDestroy(){var t;(t=this.Ia)==null||t.call(this),this.Ia=null}di(){const t=this.j.C();if(!t){this.hide();return}const e=this.show.bind(this),s=this.hide.bind(this);this.j.zc(t,e,s)}show(t){var e,s,n;this.nn(),window.cancelAnimationFrame(this.Bc),this.Bc=-1,(e=this.Ia)==null||e.call(this),this.Ia=null,this.Ac=window.setTimeout(()=>{this.Ac=-1;const r=this.j.u();r&&r.style.removeProperty("display"),m(()=>this.j.B(!0,t))},((n=(s=this.j).yf)==null?void 0:n.call(s))??0)}hide(t){this.nn(),m(()=>this.j.B(!1,t)),this.Bc=requestAnimationFrame(()=>{var s;this.nn(),this.Bc=-1;const e=this.j.u();if(e){const n=()=>{e.style.display="none",this.Ia=null};if(oo(e)){(s=this.Ia)==null||s.call(this);const a=b(e,"animationend",n,{once:!0});this.Ia=a}else n()}})}nn(){window.clearTimeout(this.Ac),this.Ac=-1}}const we=Et();let uh=0;const Ys=class Ys extends ${constructor(){super(),this.ca=`media-tooltip-${++uh}`,this.C=g(null),this.u=g(null),new ut;const{showDelay:t}=this.$props;new Tr({C:this.C,u:this.u,yf:t,zc(e,s,n){b(e,"touchstart",r=>r.preventDefault(),{passive:!1}),u(()=>{Le()&&b(e,"focus",s),b(e,"blur",n)}),b(e,"mouseenter",s),b(e,"mouseleave",n)},B:this.ei.bind(this)})}onAttach(t){t.style.setProperty("display","contents")}onSetup(){it(we,{C:this.C,u:this.u,Jd:this.Jd.bind(this),Kd:this.Kd.bind(this),Ld:this.Ld.bind(this),Md:this.Md.bind(this)})}Jd(t){var s;this.C.set(t);let e=t.getAttribute("data-media-tooltip");e&&((s=this.el)==null||s.setAttribute(`data-media-${e}-tooltip`,"")),k(t,"data-describedby",this.ca)}Kd(t){t.removeAttribute("data-describedby"),t.removeAttribute("aria-describedby"),this.C.set(null)}Ld(t){t.setAttribute("id",this.ca),t.style.display="none",A(t,"role","tooltip"),this.u.set(t)}Md(t){t.removeAttribute("id"),t.removeAttribute("role"),this.u.set(null)}ei(t){const e=this.C(),s=this.u();e&&k(e,"aria-describedby",t?this.ca:null);for(const n of[this.el,e,s])n&&k(n,"data-visible",t)}};Ys.props={showDelay:700};let ln=Ys;const Js=class Js extends ${constructor(){super(),new ut;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){this.Ja(t),Object.assign(t.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(t){this.Ja(t);const e=I(we);P(()=>e.Md(t)),P(ds(()=>{this.connectScope&&u(this.Nd.bind(this))}))}Ja(t){I(we).Ld(t)}Nd(){const{placement:t,offset:e,alignOffset:s}=this.$props;return fr(this.el,this.fi(),t(),{offsetVarName:"media-tooltip",xOffset:s(),yOffset:e()})}fi(){return I(we).C()}};Js.props={placement:"top center",offset:0,alignOffset:0};let un=Js;const Gs=class Gs extends at{constructor(t){super(),this.j=t,new ut,t.kb&&new Ko(t.kb)}onSetup(){const{disabled:t}=this.$props;this.setAttributes({"data-pressed":this.j.n,"aria-pressed":this.gi.bind(this),"aria-disabled":()=>t()?"true":null})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button")}onConnect(t){Pt(t,this.hi.bind(this));for(const e of["click","touchstart"])this.listen(e,this.ii.bind(this))}gi(){return Se(this.j.n())}ji(t){_r(this.j.n)&&this.j.n.set(e=>!e)}hi(t){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){t.preventDefault(),t.stopImmediatePropagation();return}t.preventDefault(),(this.j.v??this.ji).call(this,t)}ii(t){this.$props.disabled()&&(t.preventDefault(),t.stopImmediatePropagation())}};Gs.props={disabled:!1};let N=Gs;var dh=Object.defineProperty,ph=Object.getOwnPropertyDescriptor,fh=(i,t,e,s)=>{for(var n=s>1?void 0:s?ph(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&dh(t,e,n),n};const Zs=class Zs extends ${constructor(){super(),this.zf=g(!1),new N({n:this.zf})}get pressed(){return this.zf()}};Zs.props={disabled:!1,defaultPressed:!1};let bs=Zs;fh([w],bs.prototype,"pressed",1);function mh(i){return i?"true":"false"}function B(i){return()=>mh(i())}const ti=class ti extends ${constructor(){super(),new N({n:this.n.bind(this),v:this.v.bind(this)})}onSetup(){this.a=S();const{canAirPlay:t,isAirPlayConnected:e}=this.a.$state;this.setAttributes({"data-active":e,"data-supported":t,"data-state":this.ki.bind(this),"aria-hidden":B(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","airplay"),At(t,this.zl.bind(this))}v(t){this.a.remote.requestAirPlay(t)}n(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="airplay"&&e()!=="disconnected"}ki(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="airplay"&&e()}zl(){const{remotePlaybackState:t}=this.a.$state;return`AirPlay ${t()}`}};ti.props=N.props;let dn=ti;const ei=class ei extends ${constructor(){super(),new N({n:this.n.bind(this),v:this.v.bind(this)})}onSetup(){this.a=S();const{canGoogleCast:t,isGoogleCastConnected:e}=this.a.$state;this.setAttributes({"data-active":e,"data-supported":t,"data-state":this.ki.bind(this),"aria-hidden":B(()=>!t())})}onAttach(t){t.setAttribute("data-media-tooltip","google-cast"),At(t,this.zl.bind(this))}v(t){this.a.remote.requestGoogleCast(t)}n(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="google-cast"&&e()!=="disconnected"}ki(){const{remotePlaybackType:t,remotePlaybackState:e}=this.a.$state;return t()==="google-cast"&&e()}zl(){const{remotePlaybackState:t}=this.a.$state;return`Google Cast ${t()}`}};ei.props=N.props;let pn=ei;const si=class si extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"togglePaused",v:this.v.bind(this)})}onSetup(){this.a=S();const{paused:t,ended:e}=this.a.$state;this.setAttributes({"data-paused":t,"data-ended":e})}onAttach(t){t.setAttribute("data-media-tooltip","play"),At(t,"Play")}v(t){const e=this.a.remote;this.n()?e.pause(t):e.play(t)}n(){const{paused:t}=this.a.$state;return!t()}};si.props=N.props;let fn=si;const ii=class ii extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"toggleCaptions",v:this.v.bind(this)})}onSetup(){this.a=S(),this.setAttributes({"data-active":this.n.bind(this),"data-supported":()=>!this.lb(),"aria-hidden":B(this.lb.bind(this))})}onAttach(t){t.setAttribute("data-media-tooltip","caption"),At(t,"Captions")}v(t){this.a.remote.toggleCaptions(t)}n(){const{textTrack:t}=this.a.$state,e=t();return!!e&&K(e)}lb(){const{hasCaptions:t}=this.a.$state;return!t()}};ii.props=N.props;let mn=ii;const ni=class ni extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"toggleFullscreen",v:this.v.bind(this)})}onSetup(){this.a=S();const{fullscreen:t}=this.a.$state,e=this.Nb.bind(this);this.setAttributes({"data-active":t,"data-supported":e,"aria-hidden":B(()=>!e())})}onAttach(t){t.setAttribute("data-media-tooltip","fullscreen"),At(t,"Fullscreen")}v(t){const e=this.a.remote,s=this.$props.target();this.n()?e.exitFullscreen(s,t):e.enterFullscreen(s,t)}n(){const{fullscreen:t}=this.a.$state;return t()}Nb(){const{canFullscreen:t}=this.a.$state;return t()}};ni.props={...N.props,target:"prefer-media"};let bn=ni;const ri=class ri extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"toggleMuted",v:this.v.bind(this)})}onSetup(){this.a=S(),this.setAttributes({"data-muted":this.n.bind(this),"data-state":this.ki.bind(this)})}onAttach(t){t.setAttribute("data-media-mute-button",""),t.setAttribute("data-media-tooltip","mute"),At(t,"Mute")}v(t){const e=this.a.remote;this.n()?e.unmute(t):e.mute(t)}n(){const{muted:t,volume:e}=this.a.$state;return t()||e()===0}ki(){const{muted:t,volume:e}=this.a.$state,s=e();if(t()||s===0)return"muted";if(s>=.5)return"high";if(s<.5)return"low"}};ri.props=N.props;let gn=ri;const ai=class ai extends ${constructor(){super(),new N({n:this.n.bind(this),kb:"togglePictureInPicture",v:this.v.bind(this)})}onSetup(){this.a=S();const{pictureInPicture:t}=this.a.$state,e=this.Nb.bind(this);this.setAttributes({"data-active":t,"data-supported":e,"aria-hidden":B(()=>!e())})}onAttach(t){t.setAttribute("data-media-tooltip","pip"),At(t,"PiP")}v(t){const e=this.a.remote;this.n()?e.exitPictureInPicture(t):e.enterPictureInPicture(t)}n(){const{pictureInPicture:t}=this.a.$state;return t()}Nb(){const{canPictureInPicture:t}=this.a.$state;return t()}};ai.props=N.props;let yn=ai;const oi=class oi extends ${constructor(){super(),new ut}onSetup(){this.a=S();const{seeking:t}=this.a.$state,{seconds:e}=this.$props,s=this.Nb.bind(this);this.setAttributes({seconds:e,"data-seeking":t,"data-supported":s,"aria-hidden":B(()=>!s())})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button"),t.setAttribute("data-media-tooltip","seek"),At(t,this.zl.bind(this))}onConnect(t){Pt(t,this.v.bind(this))}Nb(){const{canSeek:t}=this.a.$state;return t()}zl(){const{seconds:t}=this.$props;return`Seek ${t()>0?"forward":"backward"} ${t()} seconds`}v(t){const{seconds:e,disabled:s}=this.$props;if(s())return;const{currentTime:n}=this.a.$state,r=n()+e();this.a.remote.seek(r,t)}};oi.props={disabled:!1,seconds:30};let $n=oi;const hi=class hi extends ${constructor(){super(),new ut}onSetup(){this.a=S();const{disabled:t}=this.$props,{live:e,liveEdge:s}=this.a.$state,n=()=>!e();this.setAttributes({"data-edge":s,"data-hidden":n,"aria-disabled":B(()=>t()||s()),"aria-hidden":B(n)})}onAttach(t){A(t,"tabindex","0"),A(t,"role","button"),A(t,"type","button"),t.setAttribute("data-media-tooltip","live")}onConnect(t){Pt(t,this.v.bind(this))}v(t){const{disabled:e}=this.$props,{liveEdge:s}=this.a.$state;e()||s()||this.a.remote.seekToLiveEdge(t)}};hi.props={disabled:!1};let wn=hi;const Fs=new It({min:0,max:100,value:0,pointerValue:0,focused:!1,dragging:!1,pointing:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return vn(this.min,this.max,this.value)},get fillPercent(){return this.fillRate*100},get pointerRate(){return vn(this.min,this.max,this.pointerValue)},get pointerPercent(){return this.pointerRate*100}});function vn(i,t,e){const s=t-i,n=e-i;return s>0?n/s:0}function bh(i,t,e,s){return _s(i,U(e,To(s)),t)}function gh(i,t,e,s){const n=_s(0,e,1),r=t-i,a=r*n,o=a/s,h=s*o;return i+h}const Tn={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};class yh extends at{constructor(t,e){super(),this.j=t,this.a=e,this.i=null,this.ua=null,this.mb=null,this.ti=ue(s=>{this.va(this.Dc(s),s)},20,{leading:!0})}onConnect(){u(this.li.bind(this)),u(this.mi.bind(this)),this.j.ni&&u(this.xn.bind(this))}xn(){var e;const{pointer:t}=this.a.$state;if(t()!=="coarse"||!this.j.ni()){this.i=null;return}this.i=(e=this.a.player.el)==null?void 0:e.querySelector("media-provider,[data-media-provider]"),this.i&&(b(this.i,"touchstart",this.oi.bind(this),{passive:!0}),b(this.i,"touchmove",this.pi.bind(this),{passive:!1}))}oi(t){this.ua=t.touches[0]}pi(t){if(xt(this.ua)||qs(t))return;const e=t.touches[0],s=e.clientX-this.ua.clientX,n=e.clientY-this.ua.clientY,r=this.$state.dragging();!r&&Math.abs(n)>5||r||(t.preventDefault(),Math.abs(s)>20&&(this.ua=e,this.mb=this.$state.value(),this.Od(this.mb,t)))}li(){this.j.K()||(this.listen("focus",this.Lb.bind(this)),this.listen("pointerenter",this.Cd.bind(this)),this.listen("pointermove",this.qi.bind(this)),this.listen("pointerleave",this.Dd.bind(this)),this.listen("pointerdown",this.ri.bind(this)),this.listen("keydown",this.Ab.bind(this)),this.listen("keyup",this.zb.bind(this)))}mi(){this.j.K()||!this.$state.dragging()||(b(document,"pointerup",this.si.bind(this)),b(document,"pointermove",this.ti.bind(this)),b(document,"touchmove",this.ui.bind(this),{passive:!1}))}Lb(){this.va(this.$state.value())}Pd(t,e){var c,l,d,p;const{value:s,min:n,max:r,dragging:a}=this.$state,o=Math.max(n(),Math.min(t,r()));s.set(o);const h=this.createEvent("value-change",{detail:o,trigger:e});if(this.dispatch(h),(l=(c=this.j).o)==null||l.call(c,h),a()){const f=this.createEvent("drag-value-change",{detail:o,trigger:e});this.dispatch(f),(p=(d=this.j).nb)==null||p.call(d,f)}}va(t,e){const{pointerValue:s,dragging:n}=this.$state;s.set(t),this.dispatch("pointer-value-change",{detail:t,trigger:e}),n()&&this.Pd(t,e)}Dc(t){let e,s=this.el.getBoundingClientRect(),{min:n,max:r}=this.$state;if(this.$props.orientation()==="vertical"){const{bottom:a,height:o}=s;e=(a-t.clientY)/o}else if(this.ua&&ot(this.mb)){const{width:a}=this.i.getBoundingClientRect(),o=(t.clientX-this.ua.clientX)/a,h=r()-n(),c=h*Math.abs(o);e=(o<0?this.mb-c:this.mb+c)/h}else{const{left:a,width:o}=s;e=(t.clientX-a)/o}return Math.max(n(),Math.min(r(),this.j.Ob(gh(n(),r(),e,this.j.Ka()))))}Cd(t){this.$state.pointing.set(!0)}qi(t){const{dragging:e}=this.$state;e()||this.va(this.Dc(t),t)}Dd(t){this.$state.pointing.set(!1)}ri(t){if(t.button!==0)return;const e=this.Dc(t);this.Od(e,t),this.va(e,t)}Od(t,e){var r,a;const{dragging:s}=this.$state;if(s())return;s.set(!0),this.a.remote.pauseControls(e);const n=this.createEvent("drag-start",{detail:t,trigger:e});this.dispatch(n),(a=(r=this.j).Qd)==null||a.call(r,n)}Af(t,e){var r,a;const{dragging:s}=this.$state;if(!s())return;s.set(!1),this.a.remote.resumeControls(e);const n=this.createEvent("drag-end",{detail:t,trigger:e});this.dispatch(n),(a=(r=this.j).Ec)==null||a.call(r,n),this.ua=null,this.mb=null}Ab(t){const{key:e}=t,{min:s,max:n}=this.$state;let r;if(e==="Home"||e==="PageUp"?r=s():e==="End"||e==="PageDown"?r=n():!t.metaKey&&/^[0-9]$/.test(e)&&(r=(n()-s())/10*Number(e)),!J(r)){this.va(r,t),this.Pd(r,t);return}const a=this.Bf(t);if(J(a))return;const o=e===this.Rd;!this.$state.dragging()&&o&&this.Od(a,t),this.va(a,t),o||this.Pd(a,t),this.Rd=e}zb(t){this.Rd="";const{dragging:e,value:s}=this.$state;if(!e())return;const n=this.Bf(t)??s();this.va(n),this.Af(n,t)}Bf(t){const{key:e,shiftKey:s}=t;if(!Object.keys(Tn).includes(e))return;t.preventDefault(),t.stopPropagation();const{shiftKeyMultiplier:r}=this.$props,{value:a,min:o,max:h}=this.$state,c=this.j.Ka(),l=this.j.Pb(),d=s?l*r():l,p=Number(Tn[e]),f=d*p,y=(a()+f)/c;return Math.max(o(),Math.min(h(),Number((c*y).toFixed(3))))}si(t){if(t.button!==0)return;const e=this.Dc(t);this.va(e,t),this.Af(e,t)}ui(t){t.preventDefault()}}const te=Et(()=>({})),Vs=Et(),ci=class ci extends at{constructor(t){super(),this.j=t,this.xi=Rt((e,s)=>{var n,r;(n=this.el)==null||n.style.setProperty("--slider-fill",e+"%"),(r=this.el)==null||r.style.setProperty("--slider-pointer",s+"%")})}onSetup(){this.a=S();const t=new ut;t.attach(this),this.$state.focused=t.focused.bind(t),lt(te)||it(te,{default:"value"}),it(Vs,{ta:this.$props.orientation,Fc:this.j.K,Cf:g(null)}),u(this.D.bind(this)),u(this.Qb.bind(this)),this.vi(),new yh(this.j,this.a).attach(this)}onAttach(t){A(t,"role","slider"),A(t,"tabindex","0"),A(t,"autocomplete","off"),u(this.Df.bind(this))}D(){const{dragging:t,value:e,min:s,max:n}=this.$state;m(t)||e.set(bh(s(),n(),e(),this.j.Ka()))}Qb(){if(!this.j.K())return;const{dragging:t,pointing:e}=this.$state;t.set(!1),e.set(!1)}wi(){return Se(this.j.K())}vi(){const{orientation:t}=this.$props,{dragging:e,active:s,pointing:n}=this.$state;this.setAttributes({"data-dragging":e,"data-pointing":n,"data-active":s,"aria-disabled":this.wi.bind(this),"aria-valuemin":this.$state.min,"aria-valuemax":this.$state.max,"aria-valuenow":this.j.ia,"aria-valuetext":this.j.ja,"aria-orientation":t})}Df(){const{fillPercent:t,pointerPercent:e}=this.$state;this.xi(U(t(),3),U(e(),3))}};ci.props={disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};let St=ci;const Re=class Re extends ${constructor(){super(),new St({Ka:this.$props.step,Pb:this.$props.keyStep,Ob:Math.round,K:this.$props.disabled,ia:this.ia.bind(this),ja:this.ja.bind(this)})}onSetup(){u(this.D.bind(this)),u(this.yi.bind(this))}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const{value:t,max:e}=this.$state;return U(t()/e()*100,2)+"%"}D(){const{value:t}=this.$props;this.$state.value.set(t())}yi(){const{min:t,max:e}=this.$props;this.$state.min.set(t()),this.$state.max.set(e())}};Re.props={...St.props,min:0,max:100,value:0},Re.state=Fs;let ee=Re;const pt=new Map,ge=new Map;class Hs{constructor(t,e,s){this.$src=t,this.$crossOrigin=e,this.a=s,this.$images=g([]),u(this.zi.bind(this))}static create(t,e){const s=S();return new Hs(t,e,s)}zi(){var n;const{canLoad:t}=this.a.$state;if(!t())return;const e=this.$src(),s=new AbortController;if(e){if(v(e)&&pt.has(e)){const r=pt.get(e);if(pt.delete(e),pt.set(e,r),pt.size>30){const a=pt.keys().next().value;pt.delete(a)}this.$images.set(pt.get(e))}else if(v(e)){const r=this.$crossOrigin(),a=e+"::"+r;if(!ge.has(a)){const o=new Promise(async(h,c)=>{try{const l=await fetch(e,{signal:s.signal,credentials:Ae(r)});if(l.headers.get("content-type")==="application/json"){const p=await l.json();if(H(p))if(p[0]&&"text"in p[0])h(this.bl(p));else{for(let f=0;fimport("./prod-BPmjCPvw.js").then(p=>p.d),__vite__mapDeps([0,1])).then(async({parseResponse:p})=>{try{const{cues:f}=await p(l);h(this.bl(f))}catch(f){c(f)}})}catch(l){c(l)}}).then(h=>(s.signal.aborted||pt.set(a,h),h)).catch(h=>{s.signal.aborted||this.U(e,h)}).finally(()=>{v(a)&&ge.delete(a)});ge.set(a,o)}(n=ge.get(a))==null||n.then(o=>{s.signal.aborted||this.$images.set(o||[])})}else if(H(e))try{this.$images.set(this.jl(e))}catch(r){this.U(e,r)}else try{this.$images.set(this.cl(e))}catch(r){this.U(e,r)}return()=>{s.abort(),this.$images.set([])}}}jl(t){const e=this.dl();return t.map((s,n)=>(dt(s.url&&v(s.url),!1),dt("startTime"in s&&ot(s.startTime),!1),{...s,url:v(s.url)?this.gl(s.url,e):s.url}))}cl(t){var a;dt(v(t.url),!1),dt(H(t.tiles)&&((a=t.tiles)==null?void 0:a.length),!1);const e=new URL(t.url),s=[],n="tile_width"in t?t.tile_width:t.tileWidth,r="tile_height"in t?t.tile_height:t.tileHeight;for(const o of t.tiles)s.push({url:e,startTime:"start"in o?o.start:o.startTime,width:n,height:r,coords:{x:o.x,y:o.y}});return s}bl(t){for(let n=0;n{this.Ci(),e.set(!1),s.set(null)}}qd(){const{loading:t,error:e}=this.$state;this.Fi(),t.set(!1),e.set(null)}U(t){const{loading:e,error:s}=this.$state;e.set(!1),s.set(t)}Rb(){const{loading:t,hidden:e}=this.$state;return!e()&&t()}wa(){const{error:t}=this.$state;return!xt(t())}ob(){const{hidden:t}=this.$state,{duration:e}=this.a.$state,s=this.ha.$images();t.set(this.wa()||!Number.isFinite(e())||s.length===0)}Gf(){return this.$props.time()}il(){let t=this.ha.$images();if(!t.length)return;let e=this.Gf(),{src:s,activeThumbnail:n}=this.$state,r=-1,a=null;for(let o=t.length-1;o>=0;o--){const h=t[o];if(e>=h.startTime&&(!h.endTime||e1?p:1;this.pb(t,"--thumbnail-width",`${n*y}px`),this.pb(t,"--thumbnail-height",`${r*y}px`),this.pb(e,"width",`${e.naturalWidth*y}px`),this.pb(e,"height",`${e.naturalHeight*y}px`),this.pb(e,"transform",s.coords?`translate(-${s.coords.x*y}px, -${s.coords.y*y}px)`:""),this.pb(e,"max-width","none")}pb(t,e,s){t.style.setProperty(e,s),this.Td.push(()=>t.style.removeProperty(e))}Ci(){for(const t of this.Td)t();this.Td=[]}};qe.props={src:null,time:0,crossOrigin:null},qe.state=new It({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});let kn=qe;var $h=Object.defineProperty,wh=Object.getOwnPropertyDescriptor,vh=(i,t,e,s)=>{for(var n=s>1?void 0:s?wh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&$h(t,e,n),n};const _e=class _e extends ${get video(){return this.$state.video()}onSetup(){this.a=S(),this.Q=We(ee.state),this.Hh(),this.setAttributes({"data-loading":this.Rb.bind(this),"data-hidden":this.$state.hidden,"data-error":this.wa.bind(this),"aria-hidden":B(this.$state.hidden)})}onAttach(t){u(this.Gi.bind(this)),u(this.fd.bind(this)),u(this.Hh.bind(this)),u(this.ob.bind(this)),u(this.Hi.bind(this)),u(this.Ii.bind(this))}Gi(){const t=this.$state.video();t&&(t.readyState>=2&&this.hc(),b(t,"canplay",this.hc.bind(this)),b(t,"error",this.U.bind(this)))}fd(){const{src:t}=this.$state,{canLoad:e}=this.a.$state;t.set(e()?this.$props.src():null)}Hh(){const{crossOrigin:t}=this.$props,{crossOrigin:e}=this.$state,{crossOrigin:s}=this.a.$state,n=t()!==null?t():s();e.set(n===!0?"anonymous":n)}Rb(){const{canPlay:t,hidden:e}=this.$state;return!t()&&!e()}wa(){const{error:t}=this.$state;return!xt(t)}ob(){const{src:t,hidden:e}=this.$state,{canLoad:s,duration:n}=this.a.$state;e.set(s()&&(!t()||this.wa()||!Number.isFinite(n())))}Hi(){const{src:t,canPlay:e,error:s}=this.$state;t(),e.set(!1),s.set(null)}hc(t){const{canPlay:e,error:s}=this.$state;e.set(!0),s.set(null),this.dispatch("can-play",{trigger:t})}U(t){const{canPlay:e,error:s}=this.$state;e.set(!1),s.set(t),this.dispatch("error",{trigger:t})}Ii(){const{video:t,canPlay:e}=this.$state,{duration:s}=this.a.$state,{pointerRate:n}=this.Q,r=t();e()&&r&&Number.isFinite(s())&&Number.isFinite(n())&&(r.currentTime=n()*s())}};_e.props={src:null,crossOrigin:null},_e.state=new It({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});let gs=_e;vh([w],gs.prototype,"video",1);function as(i,t){const e=String(i),s=e.length;if(s=3600?as(a,2):a,d=as(o,2),p=n&&h>0?`.${String(h).replace(/^0?\./,"")}`:"",f=`${l}:${d}${p}`;return r>0||s?`${c}:${f}`:f}function ys(i){const t=[],{hours:e,minutes:s,seconds:n}=kr(i);return e>0&&t.push(`${e} hour`),s>0&&t.push(`${s} min`),(n>0||t.length===0)&&t.push(`${n} sec`),t.join(" ")}var Th=Object.defineProperty,kh=Object.getOwnPropertyDescriptor,Ph=(i,t,e,s)=>{for(var n=s>1?void 0:s?kh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Th(t,e,n),n};const li=class li extends ${onSetup(){this.Q=We(ee.state),this.Sb=I(te),this.Ji=vt(this.getValueText.bind(this))}getValueText(){var y,x;const{type:t,format:e,decimalPlaces:s,padHours:n,padMinutes:r,showHours:a,showMs:o}=this.$props,{value:h,pointerValue:c,min:l,max:d}=this.Q,p=e()??this.Sb.default,f=t()==="current"?h():c();if(p==="percent"){const j=d()-l(),O=f/j*100;return(this.Sb.percent??U)(O,s())+"﹪"}else return p==="time"?(this.Sb.time??Ye)(f,{padHrs:n(),padMins:r(),showHrs:a(),showMs:o()}):((x=(y=this.Sb).value)==null?void 0:x.call(y,f))??f.toFixed(2)}};li.props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};let $s=li;Ph([D],$s.prototype,"getValueText",1);const ui=class ui extends ${constructor(){super(...arguments),this.Hf=Rt(()=>{const{Fc:t,ta:e}=this.Q;if(t())return;const s=this.el,{offset:n,noClamp:r}=this.$props;Sh(s,{clamp:!r(),offset:n(),orientation:e()})})}onSetup(){this.Q=I(Vs);const{active:t}=We(ee.state);this.setAttributes({"data-visible":t})}onAttach(t){Object.assign(t.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(t){const{Cf:e}=this.Q;e.set(t),P(()=>e.set(null)),u(this.Hf.bind(this));const s=new ResizeObserver(this.Hf.bind(this));s.observe(t),P(()=>s.disconnect())}};ui.props={offset:0,noClamp:!1};let Pn=ui;function Sh(i,{clamp:t,offset:e,orientation:s}){const n=getComputedStyle(i),r=parseFloat(n.width),a=parseFloat(n.height),o={top:null,right:null,bottom:null,left:null};if(o[s==="horizontal"?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${e}px))`,s==="horizontal"){const h=r/2;if(!t)o.left=`calc(var(--slider-pointer) - ${h}px)`;else{const c=`max(0px, calc(var(--slider-pointer) - ${h}px))`,l=`calc(100% - ${r}px)`;o.left=`min(${c}, ${l})`}}else{const h=a/2;if(!t)o.bottom=`calc(var(--slider-pointer) - ${h}px)`;else{const c=`max(${h}px, calc(var(--slider-pointer) - ${h}px))`,l=`calc(100% - ${a}px)`;o.bottom=`min(${c}, ${l})`}}Object.assign(i.style,o)}const Ne=class Ne extends ${constructor(){super(...arguments),this.If=ue(this.ab.bind(this),25)}onSetup(){this.a=S(),it(te,{default:"percent"}),new St({Ka:this.$props.step,Pb:this.$props.keyStep,K:this.$props.disabled,Ob:Math.round,ia:this.ia.bind(this),ja:this.ja.bind(this),nb:this.nb.bind(this),o:this.o.bind(this)}).attach(this),u(this.Fd.bind(this))}onAttach(t){t.setAttribute("data-media-volume-slider",""),A(t,"aria-label","Volume");const{canSetVolume:e}=this.a.$state;this.setAttributes({"data-supported":e,"aria-hidden":B(()=>!e())})}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const{value:t,max:e}=this.$state;return U(t()/e()*100,2)+"%"}Fd(){const{muted:t,volume:e}=this.a.$state,s=t()?0:e()*100;this.$state.value.set(s),this.dispatch("value-change",{detail:s})}ab(t){if(!t.trigger)return;const e=U(t.detail/100,3);this.a.remote.changeVolume(e,t)}o(t){this.If(t)}nb(t){this.If(t)}};Ne.props={...St.props,keyStep:5,shiftKeyMultiplier:2},Ne.state=Fs;let Sn=Ne;const Fe=class Fe extends ${constructor(){super(),this.Jf=g(null),this.Wd=!1;const{noSwipeGesture:t}=this.$props;new St({ni:()=>!t(),Ka:this.Ka.bind(this),Pb:this.Pb.bind(this),K:this.K.bind(this),Ob:this.Ob,ia:this.ia.bind(this),ja:this.ja.bind(this),Qd:this.Qd.bind(this),nb:this.nb.bind(this),Ec:this.Ec.bind(this),o:this.o.bind(this)})}onSetup(){this.a=S(),it(te,{default:"time",value:this.Ki.bind(this),time:this.Li.bind(this)}),this.setAttributes({"data-chapters":this.Mi.bind(this)}),this.setStyles({"--slider-progress":this.Ni.bind(this)}),u(this.jb.bind(this)),u(this.Oi.bind(this))}onAttach(t){t.setAttribute("data-media-time-slider",""),A(t,"aria-label","Seek")}onConnect(t){u(this.Pi.bind(this)),Be(this.a.textTracks,"chapters",this.Jf.set)}Ni(){const{bufferedEnd:t,duration:e}=this.a.$state;return U(Math.min(t()/Math.max(e(),1),1)*100,3)+"%"}Mi(){var e;const{duration:t}=this.a.$state;return((e=this.Jf())==null?void 0:e.cues.length)&&Number.isFinite(t())&&t()>0}Oi(){this.Vd=ue(this.qa.bind(this),this.$props.seekingRequestThrottle())}jb(){const{currentTime:t}=this.a.$state,{value:e,dragging:s}=this.$state,n=this.Qi(t());m(s)||(e.set(n),this.dispatch("value-change",{detail:n}))}Pi(){const t=this.a.player.el,{Cf:e}=I(Vs);t&&e()&&k(t,"data-preview",this.$state.active())}qa(t,e){this.a.remote.seeking(t,e)}Ri(t,e,s){this.Vd.cancel();const{live:n}=this.a.$state;if(n()&&e>=99){this.a.remote.seekToLiveEdge(s);return}this.a.remote.seek(t,s)}Qd(t){const{pauseWhileDragging:e}=this.$props;if(e()){const{paused:s}=this.a.$state;this.Wd=!s(),this.a.remote.pause(t)}}nb(t){this.Vd(this.Tb(t.detail),t)}Ec(t){const e=t.detail;this.Ri(this.Tb(e),e,t);const{pauseWhileDragging:s}=this.$props;s()&&this.Wd&&(this.a.remote.play(t),this.Wd=!1)}o(t){const{dragging:e}=this.$state;e()||!t.trigger||this.Ec(t)}Ka(){const t=this.$props.step()/this.a.$state.duration()*100;return Number.isFinite(t)?t:1}Pb(){const t=this.$props.keyStep()/this.a.$state.duration()*100;return Number.isFinite(t)?t:1}Ob(t){return U(t,3)}K(){const{canSeek:t}=this.a.$state;return this.$props.disabled()||!t()}ia(){const{value:t}=this.$state;return Math.round(t())}ja(){const t=this.Tb(this.$state.value()),{duration:e}=this.a.$state;return Number.isFinite(t)?`${ys(t)} out of ${ys(e())}`:"live"}Tb(t){const{duration:e}=this.a.$state;return U(t/100*e(),5)}Qi(t){const{liveEdge:e,duration:s}=this.a.$state,n=Math.max(0,Math.min(1,e()?1:Math.min(t,s())/s()));return Number.isNaN(n)?0:Number.isFinite(n)?n*100:100}Ki(t){const e=this.Tb(t),{live:s,duration:n}=this.a.$state;return Number.isFinite(e)?(s()?e-n():e).toFixed(0):"LIVE"}Li(t,e){const s=this.Tb(t),{live:n,duration:r}=this.a.$state,a=n()?s-r():s;return Number.isFinite(s)?`${a<0?"-":""}${Ye(Math.abs(a),e)}`:"LIVE"}};Fe.props={...St.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100},Fe.state=Fs;let ws=Fe;var xh=Object.defineProperty,Eh=Object.getOwnPropertyDescriptor,Je=(i,t,e,s)=>{for(var n=s>1?void 0:s?Eh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&xh(t,e,n),n};const di=class di extends ${constructor(){super(...arguments),this.La=null,this.R=[],this.Gc=g(null),this._=g([]),this.Ub=g(-1),this.Hc=g(-1),this.Zd=0,this.Xi=Rt(t=>{var o;let e,s=this._(),{clipStartTime:n}=this.a.$state,r=n(),a=this.Hk(s);for(let h=this.Zd;h{const t=m(this.Gc);!this.scope||!t||!t.cues.length||(this._.set(this._i(t.cues)),this.Ub.set(0),this.Zd=0)},150,!0)}get cues(){return this._()}get activeCue(){return this._()[this.Ub()]||null}get activePointerCue(){return this._()[this.Hc()]||null}onSetup(){this.a=S(),this.Xd=We(ws.state)}onAttach(t){Be(this.a.textTracks,"chapters",this.Kf.bind(this)),u(this._d.bind(this))}onConnect(){P(()=>this.H.bind(this))}onDestroy(){this.Kf(null)}setRefs(t){var e;if(this.R=t,(e=this.Yd)==null||e.dispose(),this.R.length===1){const s=this.R[0];s.style.width="100%",s.style.setProperty("--chapter-fill","var(--slider-fill)"),s.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.R.length>0&&Q(()=>this.Si(),this.Yd=ke())}Kf(t){m(this.Gc)!==t&&(this.H(),this.Gc.set(t))}H(){var t;this.R=[],this._.set([]),this.Ub.set(-1),this.Hc.set(-1),this.Zd=0,(t=this.Yd)==null||t.dispose()}Si(){this.R.length&&(u(this.Ti.bind(this)),u(this.Ui.bind(this)),u(this.Vi.bind(this)),u(this.Wi.bind(this)))}Ti(){const t=this._();if(!t.length)return;let e,{clipStartTime:s,clipEndTime:n}=this.a.$state,r=s(),a=n()||t[t.length-1].endTime,o=a-r,h=100;for(let c=0;ch?this.$d(h,l,"100%"):l=0&&s<100)return h;return 0}Wi(){this.Xi(this.Yi())}Zi(){const{bufferedEnd:t,duration:e}=this.a.$state;return U(Math.min(t()/Math.max(e(),1),1),3)*100}Hk(t){var n;const{clipEndTime:e}=this.a.$state,s=e();return s>0?s:((n=t[t.length-1])==null?void 0:n.endTime)||0}ae(t,e,s,n){if(this._().length===0)return 0;const a=n-s,o=Math.max(0,t.startTime-s),h=Math.min(n,t.endTime)-s,c=o/a,l=c*100,d=Math.min(1,c+(h-o)/a)*100;return Math.max(0,U(e>=d?100:(e-l)/(d-l)*100,3))}_i(t){let e=[],{clipStartTime:s,clipEndTime:n,duration:r}=this.a.$state,a=s(),o=n()||1/0;t=t.filter(l=>l.startTime<=o&&l.endTime>=a);const h=t[0];h&&h.startTime>a&&e.push(new window.VTTCue(a,h.startTime,""));for(let l=0;l0&&e.push(new window.VTTCue(d.endTime,d.endTime+f,""))}}const c=t[t.length-1];if(c){e.push(c);const l=r();l>=0&&l-c.endTime>1&&e.push(new window.VTTCue(c.endTime,r(),""))}return e}_d(){if(!this.scope)return;const{disabled:t}=this.$props;if(t()){this._.set([]),this.Ub.set(0),this.Zd=0;return}const e=this.Gc();if(e){const s=this.$i.bind(this);s(),P(b(e,"add-cue",s)),P(b(e,"remove-cue",s)),u(this.Fk.bind(this))}return this.La=this.aj(),this.La&&u(this.bj.bind(this)),()=>{this.La&&(this.La.textContent="",this.La=null)}}Fk(){this.a.$state.duration(),this.$i()}bj(){const t=this.activePointerCue||this.activeCue;this.La&&(this.La.textContent=(t==null?void 0:t.text)||"")}cj(){let t=this.el;for(;t&&t.getAttribute("role")!=="slider";)t=t.parentElement;return t}aj(){const t=this.cj();return t?t.querySelector('[data-part="chapter-title"]'):null}};di.props={disabled:!1};let Ut=di;Je([w],Ut.prototype,"cues",1);Je([w],Ut.prototype,"activeCue",1);Je([w],Ut.prototype,"activePointerCue",1);Je([D],Ut.prototype,"setRefs",1);const _=Et(),Ah=["a[href]","[tabindex]","input","select","button"].map(i=>`${i}:not([aria-hidden='true'])`).join(","),xn=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);class Ch{constructor(t){this.j=t,this.ka=0,this.xa=null,this.da=[]}get r(){return this.da}Nf(t){return b(t,"focus",this.Lb.bind(this)),this.xa=t,P(()=>{this.xa=null}),this}zc(){this.xa&&(this.ea(),b(this.xa,"keyup",this.zb.bind(this)),b(this.xa,"keydown",this.Ab.bind(this)),P(()=>{this.ka=0,this.da=[]}))}ea(){this.ka=0,this.da=this.dj()}Of(t=this.Pf()){const e=this.da[t],s=this.j.ej();e&&s&&requestAnimationFrame(()=>{s.scrollTop=e.offsetTop-s.offsetHeight/2+e.offsetHeight/2})}qb(t){var e;this.ka=t,(e=this.da[t])==null||e.focus(),this.Of(t)}Pf(){return this.da.findIndex(t=>t.getAttribute("aria-checked")==="true")}Lb(){this.ea(),setTimeout(()=>{const t=this.Pf();this.qb(t>=0?t:0)},100)}zb(t){xn.has(t.key)&&(t.stopPropagation(),t.preventDefault())}Ab(t){if(xn.has(t.key))switch(t.stopPropagation(),t.preventDefault(),t.key){case"Escape":this.j.fj(t);break;case"Tab":this.qb(this.be(t.shiftKey?-1:1));break;case"ArrowUp":this.qb(this.be(-1));break;case"ArrowDown":this.qb(this.be(1));break;case"Home":case"PageUp":this.qb(0);break;case"End":case"PageDown":this.qb(this.da.length-1);break}}be(t){var s;let e=this.ka;do e=(e+t+this.da.length)%this.da.length;while(((s=this.da[e])==null?void 0:s.offsetParent)===null);return e}dj(){if(!this.xa)return[];const t=this.xa.querySelectorAll(Ah),e=[],s=n=>n.getAttribute("role")==="menu";for(const n of t)n instanceof HTMLElement&&n.offsetParent!==null&&pr(this.xa,n,s)&&e.push(n);return e}}var Oh=Object.defineProperty,Lh=Object.getOwnPropertyDescriptor,de=(i,t,e,s)=>{for(var n=s>1?void 0:s?Lh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Oh(t,e,n),n};let Mh=0;const pi=class pi extends ${constructor(){super(),this.L=g(!1),this.Fc=g(!1),this.C=g(null),this.u=g(null),this.Qf=g(!1),this.Vb=new Set,this.Ic=null,this.rj=this.sj.bind(this),this.pj=this.tj.bind(this),this.qj=this.uj.bind(this),this.O=Rt(()=>{const e=m(this.u);if(!e)return;let s=0,n=getComputedStyle(e),r=[...e.children];for(const a of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])s+=parseFloat(n[a])||0;for(const a of r)if(a instanceof HTMLElement&&a.style.display==="contents")r.push(...a.children);else if(a.nodeType===3)s+=parseFloat(getComputedStyle(a).fontSize);else if(a instanceof HTMLElement){const o=getComputedStyle(a);if(o.display==="none")continue;s+=a.offsetHeight+(parseFloat(o.marginTop)||0)+(parseFloat(o.marginBottom)||0)}z(e,"--menu-height",s+"px")});const{showDelay:t}=this.$props;this.Jc=new Tr({C:this.C,u:this.u,yf:t,zc:(e,s,n)=>{Pt(e,a=>{this.L()?n(a):s(a)});const r=this.gj();r&&Pt(r,a=>{a.stopPropagation(),n(a)})},B:this.hj.bind(this)})}get triggerElement(){return this.C()}get contentElement(){return this.u()}get isSubmenu(){return!!this.ee}onSetup(){this.a=S();const t=++Mh;this.ce=`media-menu-${t}`,this.de=`media-menu-button-${t}`,this.rb=new Ch({ej:this.ij.bind(this),fj:this.close.bind(this)}),lt(_)&&(this.ee=I(_)),this.setAttributes({"data-open":this.L,"data-submenu":this.isSubmenu,"data-disabled":this.K.bind(this)}),it(_,{jj:this.C,L:this.L,Wb:g(""),Ma:this.Ma.bind(this),fe:this.fe.bind(this),ge:this.ge.bind(this),he:this.he.bind(this),ie:this.ie.bind(this),je:this.je.bind(this)})}onAttach(t){t.style.setProperty("display","contents"),this.rb.Nf(t)}onConnect(t){var e;u(this.kj.bind(this)),this.isSubmenu&&((e=this.ee)==null||e.je(this))}onDestroy(){this.C.set(null),this.u.set(null),this.Ic=null}kj(){const t=this.lj();this.isSubmenu||this.O(),this.Rf(t),t&&(u(()=>{const{height:e}=this.a.$state,s=this.u();s&&z(s,"--player-height",e()+"px")}),this.rb.zc(),this.listen("pointerup",this.mj.bind(this)),b(window,"pointerup",this.nj.bind(this)))}fe(t){const e=t.el,s=this.isSubmenu,n=B(this.K.bind(this));A(e,"tabindex",s?"-1":"0"),A(e,"role",s?"menuitem":"button"),k(e,"id",this.de),k(e,"aria-haspopup","menu"),k(e,"aria-expanded","false"),k(e,"data-submenu",this.isSubmenu),this.isSubmenu||this.Sf(e),u(()=>{k(e,"data-open",this.L()),k(e,"aria-disabled",n())}),this.C.set(e),P(()=>{this.C.set(null)})}ge(t){const e=t.el;if(e.style.setProperty("display","none"),k(e,"id",this.ce),A(e,"role","menu"),A(e,"tabindex","-1"),k(e,"data-submenu",this.isSubmenu),this.u.set(e),P(()=>this.u.set(null)),u(()=>k(e,"data-open",this.L())),this.rb.Nf(e),this.Rf(!1),!this.isSubmenu){const n=this.Xm.bind(this);t.listen("transitionstart",n),t.listen("transitionend",n),t.listen("animationend",this.O),t.listen("vds-menu-resize",this.O)}}he(t){this.Ic=t}Sf(t){b(t,"click",e=>e.stopPropagation()),b(t,"pointerup",e=>e.stopPropagation())}Rf(t){const e=m(this.u);e&&k(e,"aria-hidden",Se(!t))}ie(t){this.Qf.set(t)}hj(t,e){var r,a,o,h,c,l;if(e==null||e.stopPropagation(),this.L()===t)return;if(this.K()){t&&this.Jc.hide(e);return}(r=this.el)==null||r.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));const s=this.C(),n=this.u();if(s&&(k(s,"aria-controls",t&&this.ce),k(s,"aria-expanded",Se(t))),n&&k(n,"aria-labelledby",t&&this.de),this.L.set(t),this.oj(e),wt(),Pe(e)){t?n==null||n.focus():s==null||s.focus();for(const d of[this.el,n])d&&d.setAttribute("data-keyboard","")}else for(const d of[this.el,n])d&&d.removeAttribute("data-keyboard");this.dispatch(t?"open":"close",{trigger:e}),t?(!this.isSubmenu&&this.a.activeMenu!==this&&((a=this.a.activeMenu)==null||a.close(e),this.a.activeMenu=this),(h=(o=this.Ic)==null?void 0:o.ke)==null||h.call(o,e)):(this.isSubmenu?setTimeout(()=>{for(const d of this.Vb)d.close(e)},300):this.a.activeMenu=null,(l=(c=this.Ic)==null?void 0:c.Tj)==null||l.call(c,e)),t&&!Pe(e)&&requestAnimationFrame(()=>{this.rb.ea(),setTimeout(()=>{this.rb.Of()},100)})}lj(){return!this.K()&&this.L()}K(){return this.Fc()||this.Qf()}Ma(t){this.Fc.set(t)}mj(t){t.stopPropagation()}nj(t){var s;if(!(!(t.target instanceof Node)||(s=this.u())!=null&&s.contains(t.target))){if(this.isSubmenu)return setTimeout(this.close.bind(this,t),800);this.close(t)}}gj(){var e;const t=(e=this.el)==null?void 0:e.querySelector('[data-part="close-target"]');return this.el&&t&&pr(this.el,t,s=>s.getAttribute("role")==="menu")?t:null}ij(){if(this.isSubmenu){let t=this.el;for(;t&&t.tagName!=="media-menu"&&t.hasAttribute("data-submenu");)t=t.parentNode;return t}else return m(this.u)||null}oj(t){this.isSubmenu||(this.L()?this.a.remote.pauseControls(t):this.a.remote.resumeControls(t))}je(t){this.Vb.add(t),b(t,"open",this.pj),b(t,"close",this.qj),P(this.rj)}sj(t){this.Vb.delete(t)}tj(t){var e;this.isSubmenu&&((e=this.triggerElement)==null||e.setAttribute("aria-hidden","true"));for(const s of this.Vb)if(s!==t.target)for(const n of[s.el,s.triggerElement])n==null||n.setAttribute("aria-hidden","true")}uj(){var t;this.isSubmenu&&((t=this.triggerElement)==null||t.setAttribute("aria-hidden","false"));for(const e of this.Vb)for(const s of[e.el,e.triggerElement])s==null||s.setAttribute("aria-hidden","false")}Xm(t){const e=this.u();if(e&&t.propertyName==="height"){const s=t.type==="transitionstart";k(e,"data-resizing",s)}}open(t){m(this.L)||(this.Jc.show(t),wt())}close(t){m(this.L)&&(this.Jc.hide(t),wt())}};pi.props={showDelay:0};let Dt=pi;de([w],Dt.prototype,"triggerElement",1);de([w],Dt.prototype,"contentElement",1);de([w],Dt.prototype,"isSubmenu",1);de([D],Dt.prototype,"open",1);de([D],Dt.prototype,"close",1);var Dh=Object.defineProperty,jh=Object.getOwnPropertyDescriptor,Ih=(i,t,e,s)=>{for(var n=s>1?void 0:s?jh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Dh(t,e,n),n};const fi=class fi extends ${constructor(){super(),this.zn=g(null),new ut}get expanded(){var t;return((t=this.l)==null?void 0:t.L())??!1}onSetup(){this.l=I(_)}onAttach(t){this.l.fe(this),u(this.Qb.bind(this)),A(t,"type","button")}onConnect(t){u(this.An.bind(this)),this.vf();const e=new MutationObserver(this.vf.bind(this));e.observe(t,{attributeFilter:["data-part"],childList:!0,subtree:!0}),P(()=>e.disconnect()),Pt(t,s=>{this.dispatch("select",{trigger:s})})}Qb(){this.l.ie(this.$props.disabled())}An(){const t=this.zn();t&&u(()=>{const e=this.l.Wb();e&&(t.textContent=e)})}vf(){var e;const t=(e=this.el)==null?void 0:e.querySelector('[data-part="hint"]');this.zn.set(t??null)}};fi.props={disabled:!1};let vs=fi;Ih([w],vs.prototype,"expanded",1);const mi=class mi extends ${constructor(){super(...arguments),this.A=null}onSetup(){this.a=S(),it(ve,{Ja:this.vj.bind(this)})}onAttach(t){t.style.setProperty("display","contents")}onConnect(t){}onDestroy(){var t;(t=this.A)==null||t.remove(),this.A=null}vj(t){this.Tf(!1),this.A=t,ds(()=>{ds(()=>{this.connectScope&&u(this.Qb.bind(this))})})}Qb(){const{fullscreen:t}=this.a.$state,{disabled:e}=this.$props,s=e();this.Tf(s==="fullscreen"?!t():!s)}Tf(t){var n;if(!this.A)return;let e=this.wj(this.$props.container());if(!e)return;const s=this.A.parentElement===e;k(this.A,"data-portal",t),t?s||(this.A.remove(),e.append(this.A)):s&&this.A.parentElement===e&&(this.A.remove(),(n=this.el)==null||n.append(this.A))}wj(t){return t instanceof HTMLElement?t:t?document.querySelector(t):document.body}};mi.props={container:null,disabled:!1};let En=mi;const ve=Et(),bi=class bi extends ${constructor(){super(),new ut;const{placement:t}=this.$props;this.setAttributes({"data-placement":t})}onAttach(t){if(this.l=I(_),this.l.ge(this),lt(ve)){const e=I(ve);e&&(it(ve,null),e.Ja(t),P(()=>e.Ja(null)))}}onConnect(t){u(this.Nd.bind(this))}Nd(){if(!this.el)return;const t=this.$props.placement();if(t){Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});const{offset:e,alignOffset:s}=this.$props;return fr(this.el,this.Cc(),t,{offsetVarName:"media-menu",xOffset:s(),yOffset:e()})}else this.el.removeAttribute("style"),this.el.style.display="none"}Cc(){return this.l.jj()}};bi.props={placement:null,offset:0,alignOffset:0};let An=bi;const Ts=Et();class Qt extends at{constructor(){super(...arguments),this.sb=new Set,this.la=g(""),this.d=null,this.Aj=this.B.bind(this)}get xj(){return Array.from(this.sb).map(t=>t.la())}get value(){return this.la()}set value(t){this.B(t)}onSetup(){it(Ts,{add:this.yj.bind(this),remove:this.zj.bind(this)})}onAttach(t){lt(_)||A(t,"role","radiogroup"),this.setAttributes({value:this.la})}onDestroy(){this.sb.clear()}yj(t){this.sb.has(t)||(this.sb.add(t),t.Kc=this.Aj,t.Xb(t.la()===this.la()))}zj(t){t.Kc=null,this.sb.delete(t)}B(t,e){var a;const s=m(this.la);if(!t||t===s)return;const n=this.Uf(s),r=this.Uf(t);n==null||n.Xb(!1,e),r==null||r.Xb(!0,e),this.la.set(t),(a=this.o)==null||a.call(this,t,e)}Uf(t){for(const e of this.sb)if(t===m(e.la))return e;return null}}var Rh=Object.defineProperty,qh=Object.getOwnPropertyDescriptor,Pr=(i,t,e,s)=>{for(var n=s>1?void 0:s?qh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Rh(t,e,n),n};const gi=class gi extends ${get values(){return this.d.xj}get value(){return this.d.value}set value(t){this.d.value=t}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){u(this.D.bind(this))}D(){this.d.value=this.$props.value()}o(t,e){const s=this.createEvent("change",{detail:t,trigger:e});this.dispatch(s)}};gi.props={value:""};let Me=gi;Pr([w],Me.prototype,"values",1);Pr([w],Me.prototype,"value",1);var _h=Object.defineProperty,Nh=Object.getOwnPropertyDescriptor,Fh=(i,t,e,s)=>{for(var n=s>1?void 0:s?Nh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&_h(t,e,n),n};const yi=class yi extends ${constructor(){super(),this.Na=g(!1),this.d={la:this.$props.value,Xb:this.Xb.bind(this),Kc:null},new ut}get checked(){return this.Na()}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.Na,"aria-checked":B(this.Na)})}onAttach(t){const e=lt(_);A(t,"tabindex",e?"-1":"0"),A(t,"role",e?"menuitemradio":"radio"),u(this.D.bind(this))}onConnect(t){this.Bj(),Pt(t,this.v.bind(this)),P(this.ya.bind(this))}ya(){Q(()=>{I(Ts).remove(this.d)},this.connectScope)}Bj(){I(Ts).add(this.d)}D(){var s,n;const{value:t}=this.$props,e=t();m(this.Na)&&((n=(s=this.d).Kc)==null||n.call(s,e))}v(t){var e,s;m(this.Na)||(this.B(!0,t),this.Cj(t),(s=(e=this.d).Kc)==null||s.call(e,m(this.$props.value),t))}Xb(t,e){m(this.Na)!==t&&this.B(t,e)}B(t,e){this.Na.set(t),this.dispatch("change",{detail:t,trigger:e})}Cj(t){this.dispatch("select",{trigger:t})}};yi.props={value:""};let ks=yi;Fh([w],ks.prototype,"checked",1);var Vh=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,Ks=(i,t,e,s)=>{for(var n=s>1?void 0:s?Hh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Vh(t,e,n),n};const $i=class $i extends ${constructor(){super(),this.ka=g(0),this.z=g(null),this.J=g([]),this.d=new Qt,this.d.o=this.o.bind(this)}get value(){return this.d.value}get disabled(){var t;return!((t=this.J())!=null&&t.length)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_));const{thumbnails:t}=this.$props;this.setAttributes({"data-thumbnails":()=>!!t()})}onAttach(t){var e;(e=this.l)==null||e.he({ke:this.ke.bind(this)})}getOptions(){const{clipStartTime:t,clipEndTime:e}=this.a.$state,s=t(),n=e()||1/0;return this.J().map((r,a)=>({cue:r,value:a.toString(),label:r.text,startTime:Ye(Math.max(0,r.startTime-s)),duration:ys(Math.min(n,r.endTime)-Math.max(s,r.startTime))}))}ke(){m(()=>this.jb())}onConnect(t){u(this.D.bind(this)),u(this.jb.bind(this)),u(this.ma.bind(this)),u(this.tk.bind(this)),Be(this.a.textTracks,"chapters",this.z.set)}tk(){const t=this.z();if(!t)return;const e=this.$i.bind(this,t);return e(),b(t,"add-cue",e),b(t,"remove-cue",e),()=>{this.J.set([])}}$i(t){const{clipStartTime:e,clipEndTime:s}=this.a.$state,n=e(),r=s()||1/0;this.J.set([...t.cues].filter(a=>a.startTime<=r&&a.endTime>=n))}D(){this.d.value=this.na()}jb(){var c;if(!((c=this.l)!=null&&c.L()))return;if(!this.z()){this.ka.set(-1);return}const{realCurrentTime:e,clipStartTime:s,clipEndTime:n}=this.a.$state,r=s(),a=n()||1/0,o=e(),h=this.J().findIndex(l=>ls(l,o));if(this.ka.set(h),h>=0){const l=this.J()[h],d=this.el.querySelector("[aria-checked='true']"),p=Math.max(r,l.startTime),f=Math.min(a,l.endTime)-p,y=Math.max(0,o-p)/f*100;d&&z(d,"--progress",U(y,3)+"%")}}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){return this.ka().toString()}o(t,e){if(this.disabled||!e)return;const s=+t,n=this.J(),{clipStartTime:r}=this.a.$state;ot(s)&&(n!=null&&n[s])&&(this.ka.set(s),this.a.remote.seek(n[s].startTime-r(),e),this.dispatch("change",{detail:n[s],trigger:e}))}};$i.props={thumbnails:null};let se=$i;Ks([w],se.prototype,"value",1);Ks([w],se.prototype,"disabled",1);Ks([D],se.prototype,"getOptions",1);var Kh=Object.defineProperty,Uh=Object.getOwnPropertyDescriptor,Us=(i,t,e,s)=>{for(var n=s>1?void 0:s?Uh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Kh(t,e,n),n};const wi=class wi extends ${get value(){return this.d.value}get disabled(){const{audioTracks:t}=this.a.$state;return t().length<=1}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){u(this.D.bind(this)),u(this.ma.bind(this)),u(this.Oa.bind(this))}getOptions(){const{audioTracks:t}=this.a.$state;return t().map(e=>({track:e,label:e.label,value:e.label.toLowerCase()}))}D(){this.d.value=this.na()}Oa(){var n;const{emptyLabel:t}=this.$props,{audioTrack:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set((s==null?void 0:s.label)??t())}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){const{audioTrack:t}=this.a.$state,e=t();return e?e.label.toLowerCase():""}o(t,e){if(this.disabled)return;const s=this.a.audioTracks.toArray().findIndex(n=>n.label.toLowerCase()===t);if(s>=0){const n=this.a.audioTracks[s];this.a.remote.changeAudioTrack(s,e),this.dispatch("change",{detail:n,trigger:e})}}};wi.props={emptyLabel:"Default"};let ie=wi;Us([w],ie.prototype,"value",1);Us([w],ie.prototype,"disabled",1);Us([D],ie.prototype,"getOptions",1);var Wh=Object.defineProperty,Qh=Object.getOwnPropertyDescriptor,Ws=(i,t,e,s)=>{for(var n=s>1?void 0:s?Qh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Wh(t,e,n),n};const vi=class vi extends ${get value(){return this.d.value}get disabled(){const{hasCaptions:t}=this.a.$state;return!t()}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){var e;(e=super.onConnect)==null||e.call(this,t),u(this.D.bind(this)),u(this.ma.bind(this)),u(this.Oa.bind(this))}getOptions(){const{offLabel:t}=this.$props,{textTracks:e}=this.a.$state;return[{value:"off",label:t},...e().filter(K).map(s=>({track:s,label:s.label,value:this.xk(s)}))]}D(){this.d.value=this.na()}Oa(){var n;const{offLabel:t}=this.$props,{textTrack:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set(s&&K(s)&&s.mode==="showing"?s.label:t())}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){const{textTrack:t}=this.a.$state,e=t();return e&&K(e)&&e.mode==="showing"?this.xk(e):"off"}o(t,e){if(this.disabled)return;if(t==="off"){const n=this.a.textTracks.selected;if(n){const r=this.a.textTracks.toArray().indexOf(n);this.a.remote.changeTextTrackMode(r,"disabled",e),this.dispatch("change",{detail:null,trigger:e})}return}const s=this.a.textTracks.toArray().findIndex(n=>this.xk(n)===t);if(s>=0){const n=this.a.textTracks[s];this.a.remote.changeTextTrackMode(s,"showing",e),this.dispatch("change",{detail:n,trigger:e})}}xk(t){return t.id+":"+t.kind+"-"+t.label.toLowerCase()}};vi.props={offLabel:"Off"};let ne=vi;Ws([w],ne.prototype,"value",1);Ws([w],ne.prototype,"disabled",1);Ws([D],ne.prototype,"getOptions",1);var zh=Object.defineProperty,Bh=Object.getOwnPropertyDescriptor,Qs=(i,t,e,s)=>{for(var n=s>1?void 0:s?Bh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&zh(t,e,n),n};const Xh=[.25,.5,.75,1,1.25,1.5,1.75,2],Ti=class Ti extends ${get value(){return this.d.value}get disabled(){const{rates:t}=this.$props,{canSetPlaybackRate:e}=this.a.$state;return!e()||t().length===0}constructor(){super(),this.d=new Qt,this.d.o=this.o.bind(this)}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){u(this.D.bind(this)),u(this.Oa.bind(this)),u(this.ma.bind(this))}getOptions(){const{rates:t,normalLabel:e}=this.$props;return t().map(s=>({label:s===1?e:s+"×",value:s.toString()}))}D(){this.d.value=this.na()}Oa(){var n;const{normalLabel:t}=this.$props,{playbackRate:e}=this.a.$state,s=e();(n=this.l)==null||n.Wb.set(s===1?t():s+"×")}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}na(){const{playbackRate:t}=this.a.$state;return t().toString()}o(t,e){if(this.disabled)return;const s=+t;this.a.remote.changePlaybackRate(s,e),this.dispatch("change",{detail:s,trigger:e})}};Ti.props={normalLabel:"Normal",rates:Xh};let re=Ti;Qs([w],re.prototype,"value",1);Qs([w],re.prototype,"disabled",1);Qs([D],re.prototype,"getOptions",1);var Yh=Object.defineProperty,Jh=Object.getOwnPropertyDescriptor,zs=(i,t,e,s)=>{for(var n=s>1?void 0:s?Jh(t,e):t,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(t,e,n):a(n))||n);return s&&n&&Yh(t,e,n),n};const ki=class ki extends ${constructor(){super(),this.Dj=vt(()=>{const{qualities:t}=this.a.$state;return[...t()].sort((e,s)=>s.height===e.height?s.bitrate-e.bitrate:s.height-e.height)}),this.d=new Qt,this.d.o=this.o.bind(this)}get value(){return this.d.value}get disabled(){const{canSetQuality:t,qualities:e}=this.a.$state;return!t()||e().length===0}onSetup(){this.a=S(),lt(_)&&(this.l=I(_))}onConnect(t){u(this.D.bind(this)),u(this.ma.bind(this)),u(this.Oa.bind(this))}getOptions(){const{autoLabel:t,hideBitrate:e}=this.$props;return[{value:"auto",label:t},...this.Dj().map(s=>{const n=s.bitrate>=0?`${U(s.bitrate/1e6,2)} Mbps`:null;return{quality:s,label:s.height+"p",value:this.le(s),bitrate:()=>e()?null:n}})]}D(){this.d.value=this.na()}Oa(){var r;const{autoLabel:t}=this.$props,{autoQuality:e,quality:s}=this.a.$state,n=s()?s().height+"p":"";(r=this.l)==null||r.Wb.set(e()?t()+(n?` (${n})`:""):n)}ma(){var t;(t=this.l)==null||t.Ma(this.disabled)}o(t,e){if(this.disabled)return;if(t==="auto"){this.a.remote.changeQuality(-1,e),this.dispatch("change",{detail:"auto",trigger:e});return}const{qualities:s}=this.a.$state,n=m(s).findIndex(r=>this.le(r)===t);if(n>=0){const r=m(s)[n];this.a.remote.changeQuality(n,e),this.dispatch("change",{detail:r,trigger:e})}}na(){const{quality:t,autoQuality:e}=this.a.$state;if(e())return"auto";const s=t();return s?this.le(s):"auto"}le(t){return t.height+"_"+t.bitrate}};ki.props={autoLabel:"Auto",hideBitrate:!1};let ae=ki;zs([w],ae.prototype,"value",1);zs([w],ae.prototype,"disabled",1);zs([D],ae.prototype,"getOptions",1);const Pi=class Pi extends ${constructor(){super(...arguments),this.i=null,this.Pa=0,this.Vf=-1}onSetup(){this.a=S();const{event:t,action:e}=this.$props;this.setAttributes({event:t,action:e})}onAttach(t){t.setAttribute("data-media-gesture",""),t.style.setProperty("pointer-events","none")}onConnect(t){var e;this.i=(e=this.a.player.el)==null?void 0:e.querySelector("[data-media-provider]"),u(this.Ej.bind(this))}Ej(){let t=this.$props.event(),e=this.$props.disabled();!this.i||!t||e||(/^dbl/.test(t)&&(t=t.split(/^dbl/)[1]),(t==="pointerup"||t==="pointerdown")&&this.a.$state.pointer()==="coarse"&&(t=t==="pointerup"?"touchend":"touchstart"),b(this.i,t,this.Fj.bind(this),{passive:!1}))}Fj(t){if(this.$props.disabled()||_i(t)&&(t.button!==0||this.a.activeMenu)||$e(t)&&this.a.activeMenu||qs(t)||!this.Gj(t))return;t.MEDIA_GESTURE=!0,t.preventDefault();const e=m(this.$props.event);if(!(e==null?void 0:e.startsWith("dbl")))this.Pa===0&&setTimeout(()=>{this.Pa===1&&this.Wf(t)},250);else if(this.Pa===1){queueMicrotask(()=>this.Wf(t)),clearTimeout(this.Vf),this.Pa=0;return}this.Pa===0&&(this.Vf=window.setTimeout(()=>{this.Pa=0},275)),this.Pa++}Wf(t){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.Hj()&&this.Ij(m(this.$props.action),t),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}Gj(t){if(!this.el)return!1;if(_i(t)||Ir(t)||$e(t)){const e=$e(t)?t.changedTouches[0]??t.touches[0]:void 0,s=(e==null?void 0:e.clientX)??t.clientX,n=(e==null?void 0:e.clientY)??t.clientY,r=this.el.getBoundingClientRect(),a=n>=r.top&&n<=r.bottom&&s>=r.left&&s<=r.right;return t.type.includes("leave")?!a:a}return!0}Hj(){const t=this.a.player.el.querySelectorAll("[data-media-gesture][data-triggered]");return Array.from(t).sort((e,s)=>+getComputedStyle(s).zIndex-+getComputedStyle(e).zIndex)[0]===this.el}Ij(t,e){if(!t)return;const s=new M("will-trigger",{detail:t,cancelable:!0,trigger:e});if(this.dispatchEvent(s),s.defaultPrevented)return;const[n,r]=t.replace(/:([a-z])/,"-$1").split(":");t.includes(":fullscreen")?this.a.remote.toggleFullscreen("prefer-media",e):t.includes("seek:")?this.a.remote.seek(m(this.a.$state.currentTime)+(+r||0),e):this.a.remote[Kr(n)](e),this.dispatch("trigger",{detail:t,trigger:e})}};Pi.props={disabled:!1,event:void 0,action:void 0};let Cn=Pi;class Gh{constructor(t){this.S=t,this.priority=10,this.z=null,this.sa=Ds()}attach(){}canRender(){return!0}detach(){this.sa.empty(),this.S.reset(),this.z=null}changeTrack(t){!t||this.z===t||(this.sa.empty(),t.readyState<2?(this.S.reset(),this.sa.add(b(t,"load",()=>this.Xf(t),{once:!0}))):this.Xf(t),this.sa.add(b(t,"add-cue",e=>{this.S.addCue(e.detail)}),b(t,"remove-cue",e=>{this.S.removeCue(e.detail)})),this.z=t)}Xf(t){this.S.changeTrack({cues:[...t.cues],regions:[...t.regions]})}}const Si=class Si extends ${onSetup(){this.a=S(),this.setAttributes({"aria-hidden":B(this.lb.bind(this))})}onAttach(t){t.style.setProperty("pointer-events","none")}onConnect(t){if(this.S){u(this.Yf.bind(this));return}st(()=>import("./prod-BPmjCPvw.js").then(e=>e.d),__vite__mapDeps([0,1])).then(e=>{this.connectScope&&Q(()=>{this.W=e;const{CaptionsRenderer:s}=this.W;this.S=new s(t),this.Qa=new Gh(this.S),u(this.Yf.bind(this))},this.connectScope)})}onDestroy(){var t;this.Qa&&(this.Qa.detach(),this.a.textRenderers.remove(this.Qa)),(t=this.S)==null||t.destroy()}lb(){const{textTrack:t,remotePlaybackState:e}=this.a.$state,s=t();return this.a.$iosControls()||e()==="connected"||!s||!K(s)}Yf(){const{viewType:t}=this.a.$state;return t()==="audio"?this.Jj():this.Kj()}Jj(){return u(this._d.bind(this)),()=>{this.el.textContent=""}}_d(){if(this.lb())return;const{textTrack:t}=this.a.$state;this.Zf(),b(t(),"cue-change",this.Zf.bind(this)),u(this.Lj.bind(this))}Zf(){this.el.textContent="";const{realCurrentTime:t,textTrack:e}=this.a.$state,s=m(t),n=m(e).activeCues,{renderVTTCueString:r}=this.W;for(const a of n){const o=document.createElement("div");o.setAttribute("data-part","cue"),o.innerHTML=r(a,s),this.el.append(o)}}Lj(){const{realCurrentTime:t}=this.a.$state,{updateTimedVTTCueNodes:e}=this.W;e(this.el,t())}Kj(){return u(this.Mj.bind(this)),u(this.Nj.bind(this)),this.a.textRenderers.add(this.Qa),()=>{this.el.textContent="",this.Qa.detach(),this.a.textRenderers.remove(this.Qa)}}Mj(){this.S.dir=this.$props.textDir()}Nj(){if(this.lb())return;const{realCurrentTime:t}=this.a.$state;this.S.currentTime=t()}};Si.props={textDir:"ltr"};let On=Si;const Ve=class Ve extends ${constructor(){super(...arguments),this.wn=""}onSetup(){this.a=S(),this.fd(),this.$k(),this.Hh(),this.ob()}onAttach(t){t.style.setProperty("pointer-events","none"),u(this.Ud.bind(this)),u(this.fd.bind(this)),u(this.$k.bind(this)),u(this.Hh.bind(this)),u(this.ob.bind(this));const{started:e}=this.a.$state;this.setAttributes({"data-visible":()=>!e()&&!this.$state.hidden(),"data-loading":this.Rb.bind(this),"data-error":this.wa.bind(this),"data-hidden":this.$state.hidden})}onConnect(t){u(this.Pk.bind(this)),u(this.Ea.bind(this))}wa(){const{error:t}=this.$state;return!xt(t())}Pk(){const{canLoadPoster:t,poster:e}=this.a.$state;!t()&&e()&&le(e(),"preconnect")}ob(){const{src:t}=this.$props,{$iosControls:e}=this.a,{poster:s}=this.a.$state;this.el&&k(this.el,"display",e()?"none":null),this.$state.hidden.set(this.wa()||!(t()||s())||e())}Rb(){const{loading:t,hidden:e}=this.$state;return!e()&&t()}Ud(){const t=this.$state.img();t&&(b(t,"load",this.lc.bind(this)),b(t,"error",this.U.bind(this)))}fd(){const{poster:t}=this.a.$props,{canLoadPoster:e,providedPoster:s,inferredPoster:n}=this.a.$state,r=this.$props.src()||"",a=r||t()||n();this.wn===s()&&s.set(r),this.$state.src.set(e()&&a.length?a:null),this.wn=r}$k(){const{src:t}=this.$props,{alt:e}=this.$state,{poster:s}=this.a.$state;e.set(t()||s()?this.$props.alt():null)}Hh(){const{crossOrigin:t}=this.$props,{crossOrigin:e}=this.$state,{crossOrigin:s,poster:n}=this.a.$state,r=t()!==null?t():s();e.set(/ytimg\.com|vimeo/.test(n()||"")?null:r===!0?"anonymous":r)}Ea(){const{loading:t,error:e}=this.$state,{canLoadPoster:s,poster:n}=this.a.$state;t.set(s()&&!!n()),e.set(null)}lc(){const{loading:t,error:e}=this.$state;t.set(!1),e.set(null)}U(t){const{loading:e,error:s}=this.$state;e.set(!1),s.set(t)}};Ve.props={src:null,alt:null,crossOrigin:null},Ve.state=new It({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});let Ln=Ve;const He=class He extends ${constructor(){super(...arguments),this.cn=g(null)}onSetup(){this.a=S(),this.ag();const{type:t}=this.$props;this.setAttributes({"data-type":t,"data-remainder":this.fn.bind(this)})}onAttach(t){t.hasAttribute("role")||u(this.hn.bind(this)),u(this.ag.bind(this))}onConnect(t){u(()=>{if(!this.$props.toggle()){this.cn.set(null);return}Pt(t,this.gn.bind(this))})}ag(){const{type:t,padHours:e,padMinutes:s,showHours:n}=this.$props,r=this.Oj(t()),a=this.a.$state.duration(),o=this.fn();if(!Number.isFinite(r+a)){this.$state.timeText.set("LIVE");return}const h=o?Math.max(0,a-r):r,c=Ye(h,{padHrs:e(),padMins:s(),showHrs:n()});this.$state.timeText.set((o?"-":"")+c)}hn(){if(!this.el)return;const{toggle:t}=this.$props;k(this.el,"role",t()?"timer":null),k(this.el,"tabindex",t()?0:null)}Oj(t){const{bufferedEnd:e,duration:s,currentTime:n}=this.a.$state;switch(t){case"buffered":return e();case"duration":return s();default:return n()}}fn(){return this.$props.remainder()&&this.cn()!==!1}gn(t){if(t.preventDefault(),this.cn()===null){this.cn.set(!this.$props.remainder());return}this.cn.set(e=>!e)}};He.props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1},He.state=new It({timeText:""});let Mn=He;export{fn as $,lo as A,kc as B,$ as C,Xh as D,sc as E,Qn as F,vc as G,ac as H,bc as I,mc as J,mr as K,br as L,ms as M,Pe as N,Un as O,Yi as P,vs as Q,Ln as R,wc as S,kn as T,Mn as U,dn as V,mn as W,bn as X,wn as Y,gn as Z,yn as _,xc as a,vo as a$,$n as a0,ie as a1,ne as a2,Dt as a3,An as a4,re as a5,ae as a6,We as a7,$s as a8,va as a9,nc as aA,ar as aB,hc as aC,Xe as aD,tc as aE,To as aF,M as aG,L as aH,J as aI,ot as aJ,Q as aK,lc as aL,cc as aM,Ua as aN,us as aO,T as aP,hr as aQ,le as aR,_t as aS,Fa as aT,ss as aU,dc as aV,es as aW,hs as aX,uc as aY,Lr as aZ,gc as a_,ws as aa,Pn as ab,Sn as ac,ds as ad,yc as ae,ee as af,$c as ag,z as ah,ut as ai,we as aj,On as ak,Cn as al,cn as am,pc as an,pn as ao,bs as ap,ln as aq,un as ar,En as as,se as at,ks as au,Me as av,gs as aw,Ut as ax,ke as ay,Sc as az,Rt as b,rc as b0,In as b1,vt as c,oc as d,u as e,it as f,ec as g,Et as h,v as i,I as j,w as k,fc as l,g as m,Ms as n,P as o,m as p,ho as q,ht as r,k as s,Ur as t,S as u,ic as v,H as w,b as x,Tc as y,Pc as z}; diff --git a/assets/vidstack-DPZGEOYG-CxNwHI-Q.js b/assets/vidstack-DPZGEOYG-CKBMu5zT.js similarity index 94% rename from assets/vidstack-DPZGEOYG-CxNwHI-Q.js rename to assets/vidstack-DPZGEOYG-CKBMu5zT.js index acd0156..7bc0232 100644 --- a/assets/vidstack-DPZGEOYG-CxNwHI-Q.js +++ b/assets/vidstack-DPZGEOYG-CKBMu5zT.js @@ -1 +1 @@ -import{aX as a,m as n,x as c,e as d,p as h,aY as u,i as l}from"./vidstack-D1JzjGR7-DAkoqXK2.js";function f(r,t=3e3){const s=a();return setTimeout(()=>{const i=r();i&&s.reject(i)},t),s}class p{constructor(t){this.db=t,this.cb=n(""),this.referrerPolicy=null,t.setAttribute("frameBorder","0"),t.setAttribute("aria-hidden","true"),t.setAttribute("allow","autoplay; fullscreen; encrypted-media; picture-in-picture; accelerometer; gyroscope"),this.referrerPolicy!==null&&t.setAttribute("referrerpolicy",this.referrerPolicy)}get iframe(){return this.db}setup(){c(window,"message",this.Lg.bind(this)),c(this.db,"load",this.lc.bind(this)),d(this.fd.bind(this))}fd(){const t=this.cb();if(!t.length){this.db.setAttribute("src","");return}const s=h(()=>this.Te());this.db.setAttribute("src",u(t,s))}gd(t,s){var i;(i=this.db.contentWindow)==null||i.postMessage(JSON.stringify(t),s??"*")}Lg(t){var o;const s=this.eb();if((t.source===null||t.source===((o=this.db)==null?void 0:o.contentWindow))&&(!l(s)||s===t.origin)){try{const e=JSON.parse(t.data);e&&this.hd(e,t);return}catch{}t.data&&this.hd(t.data,t)}}}export{p as E,f as t}; +import{aX as a,m as n,x as c,e as d,p as h,aY as u,i as l}from"./vidstack-D1JzjGR7-BUOnk6-S.js";function f(r,t=3e3){const s=a();return setTimeout(()=>{const i=r();i&&s.reject(i)},t),s}class p{constructor(t){this.db=t,this.cb=n(""),this.referrerPolicy=null,t.setAttribute("frameBorder","0"),t.setAttribute("aria-hidden","true"),t.setAttribute("allow","autoplay; fullscreen; encrypted-media; picture-in-picture; accelerometer; gyroscope"),this.referrerPolicy!==null&&t.setAttribute("referrerpolicy",this.referrerPolicy)}get iframe(){return this.db}setup(){c(window,"message",this.Lg.bind(this)),c(this.db,"load",this.lc.bind(this)),d(this.fd.bind(this))}fd(){const t=this.cb();if(!t.length){this.db.setAttribute("src","");return}const s=h(()=>this.Te());this.db.setAttribute("src",u(t,s))}gd(t,s){var i;(i=this.db.contentWindow)==null||i.postMessage(JSON.stringify(t),s??"*")}Lg(t){var o;const s=this.eb();if((t.source===null||t.source===((o=this.db)==null?void 0:o.contentWindow))&&(!l(s)||s===t.origin)){try{const e=JSON.parse(t.data);e&&this.hd(e,t);return}catch{}t.data&&this.hd(t.data,t)}}}export{p as E,f as t}; diff --git a/assets/vidstack-DqoEU8C6-D0OCJJMq.js b/assets/vidstack-DqoEU8C6-DxYELl67.js similarity index 80% rename from assets/vidstack-DqoEU8C6-D0OCJJMq.js rename to assets/vidstack-DqoEU8C6-DxYELl67.js index 90a4024..9df6d04 100644 --- a/assets/vidstack-DqoEU8C6-D0OCJJMq.js +++ b/assets/vidstack-DqoEU8C6-DxYELl67.js @@ -1 +1 @@ -import{S as m,e as d,ag as i}from"./vidstack-D1JzjGR7-DAkoqXK2.js";import{I as p}from"./vidstack-D8vpzjIs-BTtv5vWE.js";import"./app-HW7jk_p0.js";const r=i('');function f(o,s){const a=m(r);a.innerHTML=p,o.append(a);const e=document.createElement("span");e.classList.add("vds-google-cast-info"),o.append(e);const n=document.createElement("span");n.classList.add("vds-google-cast-device-name"),d(()=>{const{remotePlaybackInfo:c}=s,t=c();return t!=null&&t.deviceName&&(n.textContent=t.deviceName,e.append("Google Cast on ",n)),()=>{e.textContent=""}})}export{f as insertContent}; +import{S as m,e as d,ag as i}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{I as p}from"./vidstack-D8vpzjIs-BTtv5vWE.js";import"./app-BoGlXVck.js";const r=i('');function f(o,s){const a=m(r);a.innerHTML=p,o.append(a);const e=document.createElement("span");e.classList.add("vds-google-cast-info"),o.append(e);const n=document.createElement("span");n.classList.add("vds-google-cast-device-name"),d(()=>{const{remotePlaybackInfo:c}=s,t=c();return t!=null&&t.deviceName&&(n.textContent=t.deviceName,e.append("Google Cast on ",n)),()=>{e.textContent=""}})}export{f as insertContent}; diff --git a/assets/vidstack-audio-BTzunSFq.js b/assets/vidstack-audio-BRzpik8Q.js similarity index 51% rename from assets/vidstack-audio-BTzunSFq.js rename to assets/vidstack-audio-BRzpik8Q.js index 7434340..9a1d63d 100644 --- a/assets/vidstack-audio-BTzunSFq.js +++ b/assets/vidstack-audio-BRzpik8Q.js @@ -1 +1 @@ -import{H as t}from"./vidstack-html-c-YRihIv.js";import"./vidstack-D1JzjGR7-DAkoqXK2.js";import"./app-HW7jk_p0.js";import"./vidstack-BhYx9Fjk-_AHp1jNA.js";class p extends t{constructor(){super(...arguments),this.$$PROVIDER_TYPE="AUDIO"}get type(){return"audio"}setup(){super.setup(),this.type==="audio"&&this.b.delegate.c("provider-setup",this)}get audio(){return this.a}}export{p as AudioProvider}; +import{H as t}from"./vidstack-html-DruLgKFn.js";import"./vidstack-D1JzjGR7-BUOnk6-S.js";import"./app-BoGlXVck.js";import"./vidstack-BhYx9Fjk-D_HaLJv-.js";class p extends t{constructor(){super(...arguments),this.$$PROVIDER_TYPE="AUDIO"}get type(){return"audio"}setup(){super.setup(),this.type==="audio"&&this.b.delegate.c("provider-setup",this)}get audio(){return this.a}}export{p as AudioProvider}; diff --git a/assets/vidstack-google-cast-B2hB7S6z.js b/assets/vidstack-google-cast-B67z2jv7.js similarity index 97% rename from assets/vidstack-google-cast-B2hB7S6z.js rename to assets/vidstack-google-cast-B67z2jv7.js index d4243bc..52e5ea3 100644 --- a/assets/vidstack-google-cast-B2hB7S6z.js +++ b/assets/vidstack-google-cast-B67z2jv7.js @@ -1 +1 @@ -import{ay as p,aW as o,b0 as d,o as k,aG as u,p as c,x as T,e as E,b1 as y,aH as v}from"./vidstack-D1JzjGR7-DAkoqXK2.js";import{R as C}from"./vidstack-BhYx9Fjk-_AHp1jNA.js";import{g as A,a as S,b,h as g,l as L,c as w}from"./vidstack-6eBVBXTk-b4tLqLdz.js";import"./app-HW7jk_p0.js";class I{constructor(t){this.Ul=new chrome.cast.media.MediaInfo(t.src,t.type)}build(){return this.Ul}Xl(t){return t.includes("live")?this.Ul.streamType=chrome.cast.media.StreamType.LIVE:this.Ul.streamType=chrome.cast.media.StreamType.BUFFERED,this}Yl(t){return this.Ul.tracks=t.map(this.Il),this}Zl(t,e){return this.Ul.metadata=new chrome.cast.media.GenericMediaMetadata,this.Ul.metadata.title=t,this.Ul.metadata.images=[{url:e}],this}Il(t,e){const s=new chrome.cast.media.Track(e,chrome.cast.media.TrackType.TEXT);return s.name=t.label,s.trackContentId=t.src,s.trackContentType="text/vtt",s.language=t.language,s.subtype=t.kind.toUpperCase(),s}}const m=chrome.cast.media.TrackType.TEXT,f=chrome.cast.media.TrackType.AUDIO;class D{constructor(t,e,s){this.xm=t,this.b=e,this.zm=s}Hm(){const t=this.Km.bind(this);T(this.b.audioTracks,"change",t),T(this.b.textTracks,"mode-change",t),E(this.Lm.bind(this))}wm(){return this.b.$state.textTracks().filter(t=>t.src&&t.type==="vtt")}Cm(){return this.b.$state.audioTracks()}Wl(t){var s;const e=((s=this.xm.mediaInfo)==null?void 0:s.tracks)??[];return t?e.filter(a=>a.type===t):e}Dm(){const t=[],e=this.Cm().find(a=>a.selected),s=this.wm().filter(a=>a.mode==="showing");if(e){const a=this.Wl(f),r=this.ym(a,e);r&&t.push(r.trackId)}if(s!=null&&s.length){const a=this.Wl(m);if(a.length)for(const r of s){const i=this.ym(a,r);i&&t.push(i.trackId)}}return t}Lm(){const t=this.wm();if(!this.xm.isMediaLoaded)return;const e=this.Wl(m);for(const s of t)if(!this.ym(e,s)){y(()=>{var r;return(r=this.zm)==null?void 0:r.call(this)});break}}Mm(t){if(!this.xm.isMediaLoaded)return;const e=this.Cm(),s=this.wm(),a=this.Wl(f),r=this.Wl(m);for(const i of a){if(this.Em(e,i))continue;const n={id:i.trackId.toString(),label:i.name,language:i.language,kind:i.subtype??"main",selected:!1};this.b.audioTracks[v.oa](n,t)}for(const i of r){if(this.Em(s,i))continue;const n={id:i.trackId.toString(),src:i.trackContentId,label:i.name,language:i.language,kind:i.subtype.toLowerCase()};this.b.textTracks.add(n,t)}}Km(t){if(!this.xm.isMediaLoaded)return;const e=this.Dm(),s=new chrome.cast.media.EditTracksInfoRequest(e);this.Jm(s).catch(a=>{})}Jm(t){const e=b();return new Promise((s,a)=>e==null?void 0:e.editTracksInfo(t,s,a))}Em(t,e){return t.find(s=>this.Fm(s,e))}ym(t,e){return t.find(s=>this.Fm(e,s))}Fm(t,e){return e.name===t.label&&e.language===t.language&&e.subtype.toLowerCase()===t.kind.toLowerCase()}}class P{constructor(t,e){this.aa=t,this.b=e,this.$$PROVIDER_TYPE="GOOGLE_CAST",this.scope=p(),this.V=null,this.mc="disconnected",this.Va=0,this.Fa=0,this.Ga=new o(0,0),this.Hb=new o(0,0),this.Da=new C(this.bd.bind(this)),this.vm=null,this.Am=!1,this.yb=new D(this.aa,this.b,this.zm.bind(this))}get c(){return this.b.delegate.c}get type(){return"google-cast"}get currentSrc(){return this.V}get player(){return this.aa}get cast(){return A()}get session(){return S()}get media(){return b()}get hasActiveSession(){return g(this.V)}setup(){this.sm(),this.tm(),this.yb.Hm(),this.c("provider-setup",this)}sm(){L(cast.framework.CastContextEventType.CAST_STATE_CHANGED,this.qm.bind(this))}tm(){const t=cast.framework.RemotePlayerEventType,e={[t.IS_CONNECTED_CHANGED]:this.qm,[t.IS_MEDIA_LOADED_CHANGED]:this.Jl,[t.CAN_CONTROL_VOLUME_CHANGED]:this.em,[t.CAN_SEEK_CHANGED]:this.fm,[t.DURATION_CHANGED]:this.wg,[t.IS_MUTED_CHANGED]:this.ab,[t.VOLUME_LEVEL_CHANGED]:this.ab,[t.IS_PAUSED_CHANGED]:this.jm,[t.LIVE_SEEKABLE_RANGE_CHANGED]:this.ic,[t.PLAYER_STATE_CHANGED]:this.km};this.dm=e;const s=this.lm.bind(this);for(const a of d(e))this.aa.controller.addEventListener(a,s);k(()=>{for(const a of d(e))this.aa.controller.removeEventListener(a,s)})}async play(){var t;if(!(!this.aa.isPaused&&!this.Am)){if(this.Am){await this.Gm(!1,0);return}(t=this.aa.controller)==null||t.playOrPause()}}async pause(){var t;this.aa.isPaused||(t=this.aa.controller)==null||t.playOrPause()}getMediaStatus(t){return new Promise((e,s)=>{var a;(a=this.media)==null||a.getStatus(t,e,s)})}setMuted(t){var s;(t&&!this.aa.isMuted||!t&&this.aa.isMuted)&&((s=this.aa.controller)==null||s.muteOrUnmute())}setCurrentTime(t){var e;this.aa.currentTime=t,this.c("seeking",t),(e=this.aa.controller)==null||e.seek()}setVolume(t){var e;this.aa.volumeLevel=t,(e=this.aa.controller)==null||e.setVolumeLevel()}async loadSource(t){var a;if(((a=this.vm)==null?void 0:a.src)!==t&&(this.vm=null),g(t)){this.um(),this.V=t;return}this.c("load-start");const e=this.am(t),s=await this.session.loadMedia(e);if(s){this.V=null,this.c("error",Error(w(s)));return}this.V=t}destroy(){this.H(),this.rm()}H(){this.vm||(this.Fa=0,this.Ga=new o(0,0),this.Hb=new o(0,0)),this.Da.ra(),this.Va=0,this.vm=null}um(){var i,h;const t=new u("resume-session",{detail:this.session});this.Jl(t);const{muted:e,volume:s,remotePlaybackInfo:a}=this.b.$state,r=a();this.setCurrentTime(Math.max(this.aa.currentTime,((i=r==null?void 0:r.savedState)==null?void 0:i.currentTime)??0)),this.setMuted(e()),this.setVolume(s()),((h=r==null?void 0:r.savedState)==null?void 0:h.paused)===!1&&this.play()}rm(){this.cast.endCurrentSession(!0);const{remotePlaybackLoader:t}=this.b.$state;t.set(null)}Ml(){this.b.$state.remotePlaybackInfo.set({savedState:{paused:this.aa.isPaused,currentTime:this.aa.currentTime}}),this.rm()}bd(){this.im()}lm(t){this.dm[t.type].call(this,t)}qm(t){const e=this.cast.getCastState(),s=e===cast.framework.CastState.CONNECTED?"connected":e===cast.framework.CastState.CONNECTING?"connecting":"disconnected";if(this.mc===s)return;const a={type:"google-cast",state:s},r=this.Vl(t);this.mc=s,this.c("remote-playback-change",a,r),s==="disconnected"&&this.Ml()}Jl(t){if(!!!this.aa.isMediaLoaded)return;const s=c(this.b.$state.source);Promise.resolve().then(()=>{if(s!==c(this.b.$state.source)||!this.aa.isMediaLoaded)return;this.H();const a=this.aa.duration;this.Hb=new o(0,a);const r={provider:this,duration:a,buffered:this.Ga,seekable:this.gm()},i=this.Vl(t);this.c("loaded-metadata",void 0,i),this.c("loaded-data",void 0,i),this.c("can-play",r,i),this.em(),this.fm(t);const{volume:h,muted:n}=this.b.$state;this.setVolume(h()),this.setMuted(n()),this.Da.Bb(),this.yb.Mm(i),this.yb.Km(i)})}em(){this.b.$state.canSetVolume.set(this.aa.canControlVolume)}fm(t){const e=this.Vl(t);this.c("stream-type-change",this.mm(),e)}mm(){var e;return((e=this.aa.mediaInfo)==null?void 0:e.streamType)===chrome.cast.media.StreamType.LIVE?this.aa.canSeek?"live:dvr":"live":"on-demand"}im(){if(this.vm)return;const t=this.aa.currentTime;if(t===this.Va)return;const e=this.Fa,s=this.cm(t),a={currentTime:t,played:s};this.c("time-update",a),t>e&&this.ic(),this.b.$state.seeking()&&this.c("seeked",t),this.Va=t}cm(t){return this.Fa>=t?this.Ga:this.Ga=new o(0,this.Fa=t)}wg(t){if(!this.aa.isMediaLoaded||this.vm)return;const e=this.aa.duration,s=this.Vl(t);this.Hb=new o(0,e),this.c("duration-change",e,s)}ab(t){if(!this.aa.isMediaLoaded)return;const e={muted:this.aa.isMuted,volume:this.aa.volumeLevel},s=this.Vl(t);this.c("volume-change",e,s)}jm(t){const e=this.Vl(t);this.aa.isPaused?this.c("pause",void 0,e):this.c("play",void 0,e)}ic(t){const e={seekable:this.gm(),buffered:this.Ga},s=t?this.Vl(t):void 0;this.c("progress",e,s)}km(t){const e=this.aa.playerState,s=chrome.cast.media.PlayerState;if(this.Am=e===s.IDLE,e===s.PAUSED)return;const a=this.Vl(t);switch(e){case s.PLAYING:this.c("playing",void 0,a);break;case s.BUFFERING:this.c("waiting",void 0,a);break;case s.IDLE:this.Da.ra(),this.c("pause"),this.c("end");break}}gm(){return this.aa.liveSeekableRange?new o(this.aa.liveSeekableRange.start,this.aa.liveSeekableRange.end):this.Hb}Vl(t){return t instanceof Event?t:new u(t.type,{detail:t})}Dl(t){const{streamType:e,title:s,poster:a}=this.b.$state;return new I(t).Zl(s(),a()).Xl(e()).Yl(this.yb.wm()).build()}am(t){var r,i,h,n;const e=this.Dl(t),s=new chrome.cast.media.LoadRequest(e),a=this.b.$state.remotePlaybackInfo();return s.autoplay=(((r=this.vm)==null?void 0:r.paused)??((i=a==null?void 0:a.savedState)==null?void 0:i.paused))===!1,s.currentTime=((h=this.vm)==null?void 0:h.time)??((n=a==null?void 0:a.savedState)==null?void 0:n.currentTime)??0,s}async Gm(t,e){const s=c(this.b.$state.source);this.vm={src:s,paused:t,time:e},await this.loadSource(s)}zm(){this.Gm(this.aa.isPaused,this.aa.currentTime).catch(t=>{})}}export{P as GoogleCastProvider}; +import{ay as p,aW as o,b0 as d,o as k,aG as u,p as c,x as T,e as E,b1 as y,aH as v}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{R as C}from"./vidstack-BhYx9Fjk-D_HaLJv-.js";import{g as A,a as S,b,h as g,l as L,c as w}from"./vidstack-6eBVBXTk-C12H_9VE.js";import"./app-BoGlXVck.js";class I{constructor(t){this.Ul=new chrome.cast.media.MediaInfo(t.src,t.type)}build(){return this.Ul}Xl(t){return t.includes("live")?this.Ul.streamType=chrome.cast.media.StreamType.LIVE:this.Ul.streamType=chrome.cast.media.StreamType.BUFFERED,this}Yl(t){return this.Ul.tracks=t.map(this.Il),this}Zl(t,e){return this.Ul.metadata=new chrome.cast.media.GenericMediaMetadata,this.Ul.metadata.title=t,this.Ul.metadata.images=[{url:e}],this}Il(t,e){const s=new chrome.cast.media.Track(e,chrome.cast.media.TrackType.TEXT);return s.name=t.label,s.trackContentId=t.src,s.trackContentType="text/vtt",s.language=t.language,s.subtype=t.kind.toUpperCase(),s}}const m=chrome.cast.media.TrackType.TEXT,f=chrome.cast.media.TrackType.AUDIO;class D{constructor(t,e,s){this.xm=t,this.b=e,this.zm=s}Hm(){const t=this.Km.bind(this);T(this.b.audioTracks,"change",t),T(this.b.textTracks,"mode-change",t),E(this.Lm.bind(this))}wm(){return this.b.$state.textTracks().filter(t=>t.src&&t.type==="vtt")}Cm(){return this.b.$state.audioTracks()}Wl(t){var s;const e=((s=this.xm.mediaInfo)==null?void 0:s.tracks)??[];return t?e.filter(a=>a.type===t):e}Dm(){const t=[],e=this.Cm().find(a=>a.selected),s=this.wm().filter(a=>a.mode==="showing");if(e){const a=this.Wl(f),r=this.ym(a,e);r&&t.push(r.trackId)}if(s!=null&&s.length){const a=this.Wl(m);if(a.length)for(const r of s){const i=this.ym(a,r);i&&t.push(i.trackId)}}return t}Lm(){const t=this.wm();if(!this.xm.isMediaLoaded)return;const e=this.Wl(m);for(const s of t)if(!this.ym(e,s)){y(()=>{var r;return(r=this.zm)==null?void 0:r.call(this)});break}}Mm(t){if(!this.xm.isMediaLoaded)return;const e=this.Cm(),s=this.wm(),a=this.Wl(f),r=this.Wl(m);for(const i of a){if(this.Em(e,i))continue;const n={id:i.trackId.toString(),label:i.name,language:i.language,kind:i.subtype??"main",selected:!1};this.b.audioTracks[v.oa](n,t)}for(const i of r){if(this.Em(s,i))continue;const n={id:i.trackId.toString(),src:i.trackContentId,label:i.name,language:i.language,kind:i.subtype.toLowerCase()};this.b.textTracks.add(n,t)}}Km(t){if(!this.xm.isMediaLoaded)return;const e=this.Dm(),s=new chrome.cast.media.EditTracksInfoRequest(e);this.Jm(s).catch(a=>{})}Jm(t){const e=b();return new Promise((s,a)=>e==null?void 0:e.editTracksInfo(t,s,a))}Em(t,e){return t.find(s=>this.Fm(s,e))}ym(t,e){return t.find(s=>this.Fm(e,s))}Fm(t,e){return e.name===t.label&&e.language===t.language&&e.subtype.toLowerCase()===t.kind.toLowerCase()}}class P{constructor(t,e){this.aa=t,this.b=e,this.$$PROVIDER_TYPE="GOOGLE_CAST",this.scope=p(),this.V=null,this.mc="disconnected",this.Va=0,this.Fa=0,this.Ga=new o(0,0),this.Hb=new o(0,0),this.Da=new C(this.bd.bind(this)),this.vm=null,this.Am=!1,this.yb=new D(this.aa,this.b,this.zm.bind(this))}get c(){return this.b.delegate.c}get type(){return"google-cast"}get currentSrc(){return this.V}get player(){return this.aa}get cast(){return A()}get session(){return S()}get media(){return b()}get hasActiveSession(){return g(this.V)}setup(){this.sm(),this.tm(),this.yb.Hm(),this.c("provider-setup",this)}sm(){L(cast.framework.CastContextEventType.CAST_STATE_CHANGED,this.qm.bind(this))}tm(){const t=cast.framework.RemotePlayerEventType,e={[t.IS_CONNECTED_CHANGED]:this.qm,[t.IS_MEDIA_LOADED_CHANGED]:this.Jl,[t.CAN_CONTROL_VOLUME_CHANGED]:this.em,[t.CAN_SEEK_CHANGED]:this.fm,[t.DURATION_CHANGED]:this.wg,[t.IS_MUTED_CHANGED]:this.ab,[t.VOLUME_LEVEL_CHANGED]:this.ab,[t.IS_PAUSED_CHANGED]:this.jm,[t.LIVE_SEEKABLE_RANGE_CHANGED]:this.ic,[t.PLAYER_STATE_CHANGED]:this.km};this.dm=e;const s=this.lm.bind(this);for(const a of d(e))this.aa.controller.addEventListener(a,s);k(()=>{for(const a of d(e))this.aa.controller.removeEventListener(a,s)})}async play(){var t;if(!(!this.aa.isPaused&&!this.Am)){if(this.Am){await this.Gm(!1,0);return}(t=this.aa.controller)==null||t.playOrPause()}}async pause(){var t;this.aa.isPaused||(t=this.aa.controller)==null||t.playOrPause()}getMediaStatus(t){return new Promise((e,s)=>{var a;(a=this.media)==null||a.getStatus(t,e,s)})}setMuted(t){var s;(t&&!this.aa.isMuted||!t&&this.aa.isMuted)&&((s=this.aa.controller)==null||s.muteOrUnmute())}setCurrentTime(t){var e;this.aa.currentTime=t,this.c("seeking",t),(e=this.aa.controller)==null||e.seek()}setVolume(t){var e;this.aa.volumeLevel=t,(e=this.aa.controller)==null||e.setVolumeLevel()}async loadSource(t){var a;if(((a=this.vm)==null?void 0:a.src)!==t&&(this.vm=null),g(t)){this.um(),this.V=t;return}this.c("load-start");const e=this.am(t),s=await this.session.loadMedia(e);if(s){this.V=null,this.c("error",Error(w(s)));return}this.V=t}destroy(){this.H(),this.rm()}H(){this.vm||(this.Fa=0,this.Ga=new o(0,0),this.Hb=new o(0,0)),this.Da.ra(),this.Va=0,this.vm=null}um(){var i,h;const t=new u("resume-session",{detail:this.session});this.Jl(t);const{muted:e,volume:s,remotePlaybackInfo:a}=this.b.$state,r=a();this.setCurrentTime(Math.max(this.aa.currentTime,((i=r==null?void 0:r.savedState)==null?void 0:i.currentTime)??0)),this.setMuted(e()),this.setVolume(s()),((h=r==null?void 0:r.savedState)==null?void 0:h.paused)===!1&&this.play()}rm(){this.cast.endCurrentSession(!0);const{remotePlaybackLoader:t}=this.b.$state;t.set(null)}Ml(){this.b.$state.remotePlaybackInfo.set({savedState:{paused:this.aa.isPaused,currentTime:this.aa.currentTime}}),this.rm()}bd(){this.im()}lm(t){this.dm[t.type].call(this,t)}qm(t){const e=this.cast.getCastState(),s=e===cast.framework.CastState.CONNECTED?"connected":e===cast.framework.CastState.CONNECTING?"connecting":"disconnected";if(this.mc===s)return;const a={type:"google-cast",state:s},r=this.Vl(t);this.mc=s,this.c("remote-playback-change",a,r),s==="disconnected"&&this.Ml()}Jl(t){if(!!!this.aa.isMediaLoaded)return;const s=c(this.b.$state.source);Promise.resolve().then(()=>{if(s!==c(this.b.$state.source)||!this.aa.isMediaLoaded)return;this.H();const a=this.aa.duration;this.Hb=new o(0,a);const r={provider:this,duration:a,buffered:this.Ga,seekable:this.gm()},i=this.Vl(t);this.c("loaded-metadata",void 0,i),this.c("loaded-data",void 0,i),this.c("can-play",r,i),this.em(),this.fm(t);const{volume:h,muted:n}=this.b.$state;this.setVolume(h()),this.setMuted(n()),this.Da.Bb(),this.yb.Mm(i),this.yb.Km(i)})}em(){this.b.$state.canSetVolume.set(this.aa.canControlVolume)}fm(t){const e=this.Vl(t);this.c("stream-type-change",this.mm(),e)}mm(){var e;return((e=this.aa.mediaInfo)==null?void 0:e.streamType)===chrome.cast.media.StreamType.LIVE?this.aa.canSeek?"live:dvr":"live":"on-demand"}im(){if(this.vm)return;const t=this.aa.currentTime;if(t===this.Va)return;const e=this.Fa,s=this.cm(t),a={currentTime:t,played:s};this.c("time-update",a),t>e&&this.ic(),this.b.$state.seeking()&&this.c("seeked",t),this.Va=t}cm(t){return this.Fa>=t?this.Ga:this.Ga=new o(0,this.Fa=t)}wg(t){if(!this.aa.isMediaLoaded||this.vm)return;const e=this.aa.duration,s=this.Vl(t);this.Hb=new o(0,e),this.c("duration-change",e,s)}ab(t){if(!this.aa.isMediaLoaded)return;const e={muted:this.aa.isMuted,volume:this.aa.volumeLevel},s=this.Vl(t);this.c("volume-change",e,s)}jm(t){const e=this.Vl(t);this.aa.isPaused?this.c("pause",void 0,e):this.c("play",void 0,e)}ic(t){const e={seekable:this.gm(),buffered:this.Ga},s=t?this.Vl(t):void 0;this.c("progress",e,s)}km(t){const e=this.aa.playerState,s=chrome.cast.media.PlayerState;if(this.Am=e===s.IDLE,e===s.PAUSED)return;const a=this.Vl(t);switch(e){case s.PLAYING:this.c("playing",void 0,a);break;case s.BUFFERING:this.c("waiting",void 0,a);break;case s.IDLE:this.Da.ra(),this.c("pause"),this.c("end");break}}gm(){return this.aa.liveSeekableRange?new o(this.aa.liveSeekableRange.start,this.aa.liveSeekableRange.end):this.Hb}Vl(t){return t instanceof Event?t:new u(t.type,{detail:t})}Dl(t){const{streamType:e,title:s,poster:a}=this.b.$state;return new I(t).Zl(s(),a()).Xl(e()).Yl(this.yb.wm()).build()}am(t){var r,i,h,n;const e=this.Dl(t),s=new chrome.cast.media.LoadRequest(e),a=this.b.$state.remotePlaybackInfo();return s.autoplay=(((r=this.vm)==null?void 0:r.paused)??((i=a==null?void 0:a.savedState)==null?void 0:i.paused))===!1,s.currentTime=((h=this.vm)==null?void 0:h.time)??((n=a==null?void 0:a.savedState)==null?void 0:n.currentTime)??0,s}async Gm(t,e){const s=c(this.b.$state.source);this.vm={src:s,paused:t,time:e},await this.loadSource(s)}zm(){this.Gm(this.aa.isPaused,this.aa.currentTime).catch(t=>{})}}export{P as GoogleCastProvider}; diff --git a/assets/vidstack-hls-Co8nldtG.js b/assets/vidstack-hls-DfJvjx7c.js similarity index 96% rename from assets/vidstack-hls-Co8nldtG.js rename to assets/vidstack-hls-DfJvjx7c.js index a46f560..3e4243c 100644 --- a/assets/vidstack-hls-Co8nldtG.js +++ b/assets/vidstack-hls-DfJvjx7c.js @@ -1 +1 @@ -import{aQ as w,i as g,aR as L,p as f,aS as p,x as y,e as S,aG as d,aO as k,aP as m,aH as c,aT as C,aI as E,aU as D,aV as I,r as _,F as R}from"./vidstack-D1JzjGR7-DAkoqXK2.js";import{VideoProvider as $}from"./vidstack-video-BCqt9O7D.js";import{R as A}from"./vidstack-BhYx9Fjk-_AHp1jNA.js";import"./app-HW7jk_p0.js";import"./vidstack-html-c-YRihIv.js";const x=h=>R(h);class O{constructor(t,i){this.m=t,this.b=i,this.g=null,this.nd=null,this.od={},this.pd=new Set,this.yk=-1}get instance(){return this.g}setup(t){const{streamType:i}=this.b.$state,e=f(i).includes("live"),n=f(i).includes("ll-");this.g=new t({lowLatencyMode:n,backBufferLength:n?4:e?8:void 0,renderTextTracksNatively:!1,...this.od});const s=this.Sg.bind(this);for(const o of Object.values(t.Events))this.g.on(o,s);this.g.on(t.Events.ERROR,this.U.bind(this));for(const o of this.pd)o(this.g);this.b.player.dispatch("hls-instance",{detail:this.g}),this.g.attachMedia(this.m),this.g.on(t.Events.FRAG_LOADING,this.Bk.bind(this)),this.g.on(t.Events.AUDIO_TRACK_SWITCHED,this.Tg.bind(this)),this.g.on(t.Events.LEVEL_SWITCHED,this.Ug.bind(this)),this.g.on(t.Events.LEVEL_LOADED,this.Vg.bind(this)),this.g.on(t.Events.NON_NATIVE_TEXT_TRACKS_FOUND,this.Wg.bind(this)),this.g.on(t.Events.CUES_PARSED,this.Xg.bind(this)),this.b.qualities[p.Za]=this.Yg.bind(this),y(this.b.qualities,"change",this.fb.bind(this)),y(this.b.audioTracks,"change",this.Zg.bind(this)),this.nd=S(this._g.bind(this))}_g(){if(!this.b.$state.live())return;const t=new A(this.$g.bind(this));return t.Bb(),t.ra.bind(t)}$g(){var t;this.b.$state.liveSyncPosition.set(((t=this.g)==null?void 0:t.liveSyncPosition)??1/0)}Sg(t,i){var e;(e=this.b.player)==null||e.dispatch(new d(x(t),{detail:i}))}Wg(t,i){const e=new d(t,{detail:i});let n=-1;for(let s=0;s{u.mode==="showing"?(this.g.subtitleTrack=s,n=s):n===s&&(this.g.subtitleTrack=-1,n=-1)},this.b.textTracks.add(u,e)}}Xg(t,i){const e=this.b.textTracks.getById(`hls-${i.track}`);if(!e)return;const n=new d(t,{detail:i});for(const s of i.cues)s.positionAlign="auto",e.addCue(s,n)}Tg(t,i){const e=this.b.audioTracks[i.id];if(e){const n=new d(t,{detail:i});this.b.audioTracks[c.pa](e,!0,n)}}Ug(t,i){const e=this.b.qualities[i.level];if(e){const n=new d(t,{detail:i});this.b.qualities[c.pa](e,!0,n)}}Vg(t,i){var v;if(this.b.$state.canPlay())return;const{type:e,live:n,totalduration:s,targetduration:o}=i.details,r=new d(t,{detail:i});this.b.delegate.c("stream-type-change",n?e==="EVENT"&&Number.isFinite(s)&&o>=10?"live:dvr":"live":"on-demand",r),this.b.delegate.c("duration-change",s,r);const u=this.g.media;this.g.currentLevel===-1&&this.b.qualities[p.Ya](!0,r);for(const a of this.g.audioTracks){const l={id:a.id.toString(),label:a.name,language:a.lang||"",kind:"main"};this.b.audioTracks[c.oa](l,r)}for(const a of this.g.levels){const l={id:((v=a.id)==null?void 0:v.toString())??a.height+"p",width:a.width,height:a.height,codec:a.codecSet,bitrate:a.bitrate};this.b.qualities[c.oa](l,r)}u.dispatchEvent(new d("canplay",{trigger:r}))}U(t,i){var e;if(i.fatal)switch(i.type){case"networkError":this.Ck(i.error);break;case"mediaError":(e=this.g)==null||e.recoverMediaError();break;default:this.Ak(i.error);break}}Bk(){this.yk>=0&&this.zk()}Ck(t){var i;this.zk(),(i=this.g)==null||i.startLoad(),this.yk=window.setTimeout(()=>{this.yk=-1,this.Ak(t)},5e3)}zk(){clearTimeout(this.yk),this.yk=-1}Ak(t){var i;(i=this.g)==null||i.destroy(),this.g=null,this.b.delegate.c("error",{message:t.message,code:1,error:t})}Yg(){this.g&&(this.g.currentLevel=-1)}fb(){const{qualities:t}=this.b;!this.g||t.auto||(this.g[t.switch+"Level"]=t.selectedIndex,C&&(this.m.currentTime=this.m.currentTime))}Zg(){const{audioTracks:t}=this.b;this.g&&this.g.audioTrack!==t.selectedIndex&&(this.g.audioTrack=t.selectedIndex)}Dk(t){var i;g(t.src)&&(this.zk(),(i=this.g)==null||i.loadSource(t.src))}ah(){var t,i;this.zk(),this.b&&(this.b.qualities[p.Za]=void 0),(t=this.g)==null||t.destroy(),this.g=null,(i=this.nd)==null||i.call(this),this.nd=null}}class q{constructor(t,i,e){this.W=t,this.b=i,this.Ca=e,this.bh()}async bh(){const t={onLoadStart:this.Ea.bind(this),onLoaded:this.qd.bind(this),onLoadError:this.ch.bind(this)};let i=await V(this.W,t);if(E(i)&&!g(this.W)&&(i=await H(this.W,t)),!i)return null;if(!i.isSupported()){const e="[vidstack] `hls.js` is not supported in this environment";return this.b.player.dispatch(new d("hls-unsupported")),this.b.delegate.c("error",{message:e,code:4}),null}return i}Ea(){this.b.player.dispatch(new d("hls-lib-load-start"))}qd(t){this.b.player.dispatch(new d("hls-lib-loaded",{detail:t})),this.Ca(t)}ch(t){const i=D(t);this.b.player.dispatch(new d("hls-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function H(h,t={}){var i,e,n,s,o;if(!E(h)){if((i=t.onLoadStart)==null||i.call(t),h.prototype&&h.prototype!==Function)return(e=t.onLoaded)==null||e.call(t,h),h;try{const r=(n=await h())==null?void 0:n.default;if(r&&r.isSupported)(s=t.onLoaded)==null||s.call(t,r);else throw Error("");return r}catch(r){(o=t.onLoadError)==null||o.call(t,r)}}}async function V(h,t={}){var i,e,n;if(g(h)){(i=t.onLoadStart)==null||i.call(t);try{if(await I(h),!_(window.Hls))throw Error("");const s=window.Hls;return(e=t.onLoaded)==null||e.call(t,s),s}catch(s){(n=t.onLoadError)==null||n.call(t,s)}}}const N="https://cdn.jsdelivr.net",b=class b extends ${constructor(){super(...arguments),this.$$PROVIDER_TYPE="HLS",this.Xe=null,this.d=new O(this.video,this.b),this.Gb=`${N}/npm/hls.js@^1.5.0/dist/hls.min.js`}get ctor(){return this.Xe}get instance(){return this.d.instance}get type(){return"hls"}get canLiveSync(){return!0}get config(){return this.d.od}set config(t){this.d.od=t}get library(){return this.Gb}set library(t){this.Gb=t}preconnect(){g(this.Gb)&&L(this.Gb)}setup(){super.setup(),new q(this.Gb,this.b,t=>{this.Xe=t,this.d.setup(t),this.b.delegate.c("provider-setup",this);const i=f(this.b.$state.source);i&&this.loadSource(i)})}async loadSource(t,i){if(!g(t.src)){this.Bn();return}this.a.preload=i||"",this.yn(t,"application/x-mpegurl"),this.d.Dk(t),this.V=t}onInstance(t){const i=this.d.instance;return i&&t(i),this.d.pd.add(t),()=>this.d.pd.delete(t)}destroy(){this.d.ah()}};b.supported=w();let T=b;export{T as HLSProvider}; +import{aQ as w,i as g,aR as L,p as f,aS as p,x as y,e as S,aG as d,aO as k,aP as m,aH as c,aT as C,aI as E,aU as D,aV as I,r as _,F as R}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{VideoProvider as $}from"./vidstack-video-DDlOvicQ.js";import{R as A}from"./vidstack-BhYx9Fjk-D_HaLJv-.js";import"./app-BoGlXVck.js";import"./vidstack-html-DruLgKFn.js";const x=h=>R(h);class O{constructor(t,i){this.m=t,this.b=i,this.g=null,this.nd=null,this.od={},this.pd=new Set,this.yk=-1}get instance(){return this.g}setup(t){const{streamType:i}=this.b.$state,e=f(i).includes("live"),n=f(i).includes("ll-");this.g=new t({lowLatencyMode:n,backBufferLength:n?4:e?8:void 0,renderTextTracksNatively:!1,...this.od});const s=this.Sg.bind(this);for(const o of Object.values(t.Events))this.g.on(o,s);this.g.on(t.Events.ERROR,this.U.bind(this));for(const o of this.pd)o(this.g);this.b.player.dispatch("hls-instance",{detail:this.g}),this.g.attachMedia(this.m),this.g.on(t.Events.FRAG_LOADING,this.Bk.bind(this)),this.g.on(t.Events.AUDIO_TRACK_SWITCHED,this.Tg.bind(this)),this.g.on(t.Events.LEVEL_SWITCHED,this.Ug.bind(this)),this.g.on(t.Events.LEVEL_LOADED,this.Vg.bind(this)),this.g.on(t.Events.NON_NATIVE_TEXT_TRACKS_FOUND,this.Wg.bind(this)),this.g.on(t.Events.CUES_PARSED,this.Xg.bind(this)),this.b.qualities[p.Za]=this.Yg.bind(this),y(this.b.qualities,"change",this.fb.bind(this)),y(this.b.audioTracks,"change",this.Zg.bind(this)),this.nd=S(this._g.bind(this))}_g(){if(!this.b.$state.live())return;const t=new A(this.$g.bind(this));return t.Bb(),t.ra.bind(t)}$g(){var t;this.b.$state.liveSyncPosition.set(((t=this.g)==null?void 0:t.liveSyncPosition)??1/0)}Sg(t,i){var e;(e=this.b.player)==null||e.dispatch(new d(x(t),{detail:i}))}Wg(t,i){const e=new d(t,{detail:i});let n=-1;for(let s=0;s{u.mode==="showing"?(this.g.subtitleTrack=s,n=s):n===s&&(this.g.subtitleTrack=-1,n=-1)},this.b.textTracks.add(u,e)}}Xg(t,i){const e=this.b.textTracks.getById(`hls-${i.track}`);if(!e)return;const n=new d(t,{detail:i});for(const s of i.cues)s.positionAlign="auto",e.addCue(s,n)}Tg(t,i){const e=this.b.audioTracks[i.id];if(e){const n=new d(t,{detail:i});this.b.audioTracks[c.pa](e,!0,n)}}Ug(t,i){const e=this.b.qualities[i.level];if(e){const n=new d(t,{detail:i});this.b.qualities[c.pa](e,!0,n)}}Vg(t,i){var v;if(this.b.$state.canPlay())return;const{type:e,live:n,totalduration:s,targetduration:o}=i.details,r=new d(t,{detail:i});this.b.delegate.c("stream-type-change",n?e==="EVENT"&&Number.isFinite(s)&&o>=10?"live:dvr":"live":"on-demand",r),this.b.delegate.c("duration-change",s,r);const u=this.g.media;this.g.currentLevel===-1&&this.b.qualities[p.Ya](!0,r);for(const a of this.g.audioTracks){const l={id:a.id.toString(),label:a.name,language:a.lang||"",kind:"main"};this.b.audioTracks[c.oa](l,r)}for(const a of this.g.levels){const l={id:((v=a.id)==null?void 0:v.toString())??a.height+"p",width:a.width,height:a.height,codec:a.codecSet,bitrate:a.bitrate};this.b.qualities[c.oa](l,r)}u.dispatchEvent(new d("canplay",{trigger:r}))}U(t,i){var e;if(i.fatal)switch(i.type){case"networkError":this.Ck(i.error);break;case"mediaError":(e=this.g)==null||e.recoverMediaError();break;default:this.Ak(i.error);break}}Bk(){this.yk>=0&&this.zk()}Ck(t){var i;this.zk(),(i=this.g)==null||i.startLoad(),this.yk=window.setTimeout(()=>{this.yk=-1,this.Ak(t)},5e3)}zk(){clearTimeout(this.yk),this.yk=-1}Ak(t){var i;(i=this.g)==null||i.destroy(),this.g=null,this.b.delegate.c("error",{message:t.message,code:1,error:t})}Yg(){this.g&&(this.g.currentLevel=-1)}fb(){const{qualities:t}=this.b;!this.g||t.auto||(this.g[t.switch+"Level"]=t.selectedIndex,C&&(this.m.currentTime=this.m.currentTime))}Zg(){const{audioTracks:t}=this.b;this.g&&this.g.audioTrack!==t.selectedIndex&&(this.g.audioTrack=t.selectedIndex)}Dk(t){var i;g(t.src)&&(this.zk(),(i=this.g)==null||i.loadSource(t.src))}ah(){var t,i;this.zk(),this.b&&(this.b.qualities[p.Za]=void 0),(t=this.g)==null||t.destroy(),this.g=null,(i=this.nd)==null||i.call(this),this.nd=null}}class q{constructor(t,i,e){this.W=t,this.b=i,this.Ca=e,this.bh()}async bh(){const t={onLoadStart:this.Ea.bind(this),onLoaded:this.qd.bind(this),onLoadError:this.ch.bind(this)};let i=await V(this.W,t);if(E(i)&&!g(this.W)&&(i=await H(this.W,t)),!i)return null;if(!i.isSupported()){const e="[vidstack] `hls.js` is not supported in this environment";return this.b.player.dispatch(new d("hls-unsupported")),this.b.delegate.c("error",{message:e,code:4}),null}return i}Ea(){this.b.player.dispatch(new d("hls-lib-load-start"))}qd(t){this.b.player.dispatch(new d("hls-lib-loaded",{detail:t})),this.Ca(t)}ch(t){const i=D(t);this.b.player.dispatch(new d("hls-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function H(h,t={}){var i,e,n,s,o;if(!E(h)){if((i=t.onLoadStart)==null||i.call(t),h.prototype&&h.prototype!==Function)return(e=t.onLoaded)==null||e.call(t,h),h;try{const r=(n=await h())==null?void 0:n.default;if(r&&r.isSupported)(s=t.onLoaded)==null||s.call(t,r);else throw Error("");return r}catch(r){(o=t.onLoadError)==null||o.call(t,r)}}}async function V(h,t={}){var i,e,n;if(g(h)){(i=t.onLoadStart)==null||i.call(t);try{if(await I(h),!_(window.Hls))throw Error("");const s=window.Hls;return(e=t.onLoaded)==null||e.call(t,s),s}catch(s){(n=t.onLoadError)==null||n.call(t,s)}}}const N="https://cdn.jsdelivr.net",b=class b extends ${constructor(){super(...arguments),this.$$PROVIDER_TYPE="HLS",this.Xe=null,this.d=new O(this.video,this.b),this.Gb=`${N}/npm/hls.js@^1.5.0/dist/hls.min.js`}get ctor(){return this.Xe}get instance(){return this.d.instance}get type(){return"hls"}get canLiveSync(){return!0}get config(){return this.d.od}set config(t){this.d.od=t}get library(){return this.Gb}set library(t){this.Gb=t}preconnect(){g(this.Gb)&&L(this.Gb)}setup(){super.setup(),new q(this.Gb,this.b,t=>{this.Xe=t,this.d.setup(t),this.b.delegate.c("provider-setup",this);const i=f(this.b.$state.source);i&&this.loadSource(i)})}async loadSource(t,i){if(!g(t.src)){this.Bn();return}this.a.preload=i||"",this.yn(t,"application/x-mpegurl"),this.d.Dk(t),this.V=t}onInstance(t){const i=this.d.instance;return i&&t(i),this.d.pd.add(t),()=>this.d.pd.delete(t)}destroy(){this.d.ah()}};b.supported=w();let T=b;export{T as HLSProvider}; diff --git a/assets/vidstack-html-c-YRihIv.js b/assets/vidstack-html-DruLgKFn.js similarity index 97% rename from assets/vidstack-html-c-YRihIv.js rename to assets/vidstack-html-DruLgKFn.js index 1076748..a2f9d26 100644 --- a/assets/vidstack-html-c-YRihIv.js +++ b/assets/vidstack-html-DruLgKFn.js @@ -1 +1 @@ -import{ay as u,o,s as h,az as l,i as b,aA as g,e as f,x as d,aB as m,aC as p,aD as y,p as k,aE as v,aF as c,aG as T,aH as r}from"./vidstack-D1JzjGR7-DAkoqXK2.js";import{R as $}from"./vidstack-BhYx9Fjk-_AHp1jNA.js";class S{constructor(t,i){this.i=t,this.b=i,this.sa=g(),this.Cb=!1,this.$c=!1,this.ad=!1,this.Da=new $(this.bd.bind(this)),this.Qe=void 0,this.Dg=void 0,this.pg(),f(this.qg.bind(this)),o(this.cd.bind(this))}get a(){return this.i.media}get c(){return this.b.delegate.c}cd(){this.$c=!1,this.ad=!1,this.Da.ra(),this.sa.empty()}bd(){const t=this.a.currentTime;this.b.$state.realCurrentTime()!==t&&this.$a(t)}pg(){this.t("loadstart",this.Ea),this.t("abort",this.Pe),this.t("emptied",this.rg),this.t("error",this.U),this.t("volumechange",this.ab)}sg(){this.$c||(this.sa.add(this.t("loadeddata",this.tg),this.t("loadedmetadata",this.ug),this.t("canplay",this.hc),this.t("canplaythrough",this.vg),this.t("durationchange",this.wg),this.t("play",this.xb),this.t("progress",this.ic),this.t("stalled",this.xg),this.t("suspend",this.yg),this.t("ratechange",this.Bg)),this.$c=!0)}zg(){this.ad||(this.sa.add(this.t("pause",this.Aa),this.t("playing",this.Ag),this.t("seeked",this.bb),this.t("seeking",this.Cg),this.t("ended",this.Db),this.t("waiting",this.dd)),this.ad=!0)}t(t,i){return d(this.a,t,i.bind(this))}Eg(t){}$a(t,i){const s={currentTime:Math.min(t,this.b.$state.seekableEnd()),played:this.a.played};this.c("time-update",s,i)}Ea(t){if(this.a.networkState===3){this.Pe(t);return}this.sg(),this.c("load-start",void 0,t)}Pe(t){this.c("abort",void 0,t)}rg(){this.c("emptied",void 0,event)}tg(t){this.c("loaded-data",void 0,t)}ug(t){this.zg(),this.c("loaded-metadata",void 0,t),(m||p&&y(this.b.$state.source()))&&this.b.delegate.jc(this.ed(),t)}ed(){return{provider:k(this.b.$provider),duration:this.a.duration,buffered:this.a.buffered,seekable:this.a.seekable}}xb(t){this.b.$state.canPlay&&this.c("play",void 0,t)}Aa(t){this.a.readyState===1&&!this.Cb||(this.Cb=!1,this.Da.ra(),this.c("pause",void 0,t))}hc(t){this.b.delegate.jc(this.ed(),t)}vg(t){this.b.$state.started()||this.c("can-play-through",this.ed(),t)}Ag(t){this.Cb=!1,this.c("playing",void 0,t),this.Da.Bb()}xg(t){this.c("stalled",void 0,t),this.a.readyState<3&&(this.Cb=!0,this.c("waiting",void 0,t))}dd(t){this.a.readyState<3&&(this.Cb=!0,this.c("waiting",void 0,t))}Db(t){this.Da.ra(),this.$a(this.a.duration,t),this.c("end",void 0,t),this.b.$state.loop()&&v(this.a.controls)&&(this.a.controls=!1)}qg(){this.b.$state.paused()&&d(this.a,"timeupdate",this.Eb.bind(this))}Eb(t){this.$a(this.a.currentTime,t)}wg(t){this.b.$state.ended()&&this.$a(this.a.duration,t),this.c("duration-change",this.a.duration,t)}ab(t){const i={volume:this.a.volume,muted:this.a.muted};this.c("volume-change",i,t)}bb(t){this.$a(this.a.currentTime,t),this.c("seeked",this.a.currentTime,t),Math.trunc(this.a.currentTime)===Math.trunc(this.a.duration)&&c(this.a.duration)>c(this.a.currentTime)&&(this.$a(this.a.duration,t),this.a.ended||this.b.player.dispatch(new T("media-play-request",{trigger:t})))}Cg(t){this.c("seeking",this.a.currentTime,t)}ic(t){const i={buffered:this.a.buffered,seekable:this.a.seekable};this.c("progress",i,t)}yg(t){this.c("suspend",void 0,t)}Bg(t){this.c("rate-change",this.a.playbackRate,t)}U(t){const i=this.a.error;if(!i)return;const s={message:i.message,code:i.code,mediaError:i};this.c("error",s,t)}}class C{constructor(t,i){this.i=t,this.b=i,this.Fb.onaddtrack=this.Fg.bind(this),this.Fb.onremovetrack=this.Gg.bind(this),this.Fb.onchange=this.Hg.bind(this),d(this.b.audioTracks,"change",this.Ig.bind(this))}get Fb(){return this.i.media.audioTracks}Fg(t){const i=t.track;if(i.label==="")return;const s={id:i.id.toString(),label:i.label,language:i.language,kind:i.kind,selected:!1};this.b.audioTracks[r.oa](s,t),i.enabled&&(s.selected=!0)}Gg(t){const i=this.b.audioTracks.getById(t.track.id);i&&this.b.audioTracks[r.Yb](i,t)}Hg(t){let i=this.Re();if(!i)return;const s=this.b.audioTracks.getById(i.id);s&&this.b.audioTracks[r.pa](s,!0,t)}Re(){return Array.from(this.Fb).find(t=>t.enabled)}Ig(t){const{current:i}=t.detail;if(!i)return;const s=this.Fb.getTrackById(i.id);if(s){const e=this.Re();e&&(e.enabled=!1),s.enabled=!0}}}class D{constructor(t,i){this.a=t,this.b=i,this.scope=u(),this.V=null}setup(){new S(this,this.b),"audioTracks"in this.media&&new C(this,this.b),o(()=>{this.a.srcObject=null,this.a.removeAttribute("src");for(const t of this.a.querySelectorAll("source"))t.remove();this.a.load()})}get type(){return""}get media(){return this.a}get currentSrc(){return this.V}setPlaybackRate(t){this.a.playbackRate=t}async play(){return this.a.play()}async pause(){return this.a.pause()}setMuted(t){this.a.muted=t}setVolume(t){this.a.volume=t}setCurrentTime(t){this.a.currentTime=t}setPlaysInline(t){h(this.a,"playsinline",t)}async loadSource({src:t,type:i},s){this.a.preload=s||"",l(t)?(this.Bn(),this.a.srcObject=t):(this.a.srcObject=null,b(t)?i!=="?"?this.yn({src:t,type:i}):(this.Bn(),this.a.src=this.Ik(t)):(this.Bn(),this.a.src=window.URL.createObjectURL(t))),this.a.load(),this.V={src:t,type:i}}yn(t,i){const s=this.a.querySelector("source[data-vds]"),e=s??document.createElement("source");h(e,"src",this.Ik(t.src)),h(e,"type",t.type!=="?"?t.type:i),h(e,"data-vds",""),s||this.a.append(e)}Bn(){var t;(t=this.a.querySelector("source[data-vds]"))==null||t.remove()}Ik(t){const{clipStartTime:i,clipEndTime:s}=this.b.$state,e=i(),a=s();return e>0&&a>0?`${t}#t=${e},${a}`:e>0?`${t}#t=${e}`:a>0?`${t}#t=0,${a}`:t}}export{D as H}; +import{ay as u,o,s as h,az as l,i as b,aA as g,e as f,x as d,aB as m,aC as p,aD as y,p as k,aE as v,aF as c,aG as T,aH as r}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{R as $}from"./vidstack-BhYx9Fjk-D_HaLJv-.js";class S{constructor(t,i){this.i=t,this.b=i,this.sa=g(),this.Cb=!1,this.$c=!1,this.ad=!1,this.Da=new $(this.bd.bind(this)),this.Qe=void 0,this.Dg=void 0,this.pg(),f(this.qg.bind(this)),o(this.cd.bind(this))}get a(){return this.i.media}get c(){return this.b.delegate.c}cd(){this.$c=!1,this.ad=!1,this.Da.ra(),this.sa.empty()}bd(){const t=this.a.currentTime;this.b.$state.realCurrentTime()!==t&&this.$a(t)}pg(){this.t("loadstart",this.Ea),this.t("abort",this.Pe),this.t("emptied",this.rg),this.t("error",this.U),this.t("volumechange",this.ab)}sg(){this.$c||(this.sa.add(this.t("loadeddata",this.tg),this.t("loadedmetadata",this.ug),this.t("canplay",this.hc),this.t("canplaythrough",this.vg),this.t("durationchange",this.wg),this.t("play",this.xb),this.t("progress",this.ic),this.t("stalled",this.xg),this.t("suspend",this.yg),this.t("ratechange",this.Bg)),this.$c=!0)}zg(){this.ad||(this.sa.add(this.t("pause",this.Aa),this.t("playing",this.Ag),this.t("seeked",this.bb),this.t("seeking",this.Cg),this.t("ended",this.Db),this.t("waiting",this.dd)),this.ad=!0)}t(t,i){return d(this.a,t,i.bind(this))}Eg(t){}$a(t,i){const s={currentTime:Math.min(t,this.b.$state.seekableEnd()),played:this.a.played};this.c("time-update",s,i)}Ea(t){if(this.a.networkState===3){this.Pe(t);return}this.sg(),this.c("load-start",void 0,t)}Pe(t){this.c("abort",void 0,t)}rg(){this.c("emptied",void 0,event)}tg(t){this.c("loaded-data",void 0,t)}ug(t){this.zg(),this.c("loaded-metadata",void 0,t),(m||p&&y(this.b.$state.source()))&&this.b.delegate.jc(this.ed(),t)}ed(){return{provider:k(this.b.$provider),duration:this.a.duration,buffered:this.a.buffered,seekable:this.a.seekable}}xb(t){this.b.$state.canPlay&&this.c("play",void 0,t)}Aa(t){this.a.readyState===1&&!this.Cb||(this.Cb=!1,this.Da.ra(),this.c("pause",void 0,t))}hc(t){this.b.delegate.jc(this.ed(),t)}vg(t){this.b.$state.started()||this.c("can-play-through",this.ed(),t)}Ag(t){this.Cb=!1,this.c("playing",void 0,t),this.Da.Bb()}xg(t){this.c("stalled",void 0,t),this.a.readyState<3&&(this.Cb=!0,this.c("waiting",void 0,t))}dd(t){this.a.readyState<3&&(this.Cb=!0,this.c("waiting",void 0,t))}Db(t){this.Da.ra(),this.$a(this.a.duration,t),this.c("end",void 0,t),this.b.$state.loop()&&v(this.a.controls)&&(this.a.controls=!1)}qg(){this.b.$state.paused()&&d(this.a,"timeupdate",this.Eb.bind(this))}Eb(t){this.$a(this.a.currentTime,t)}wg(t){this.b.$state.ended()&&this.$a(this.a.duration,t),this.c("duration-change",this.a.duration,t)}ab(t){const i={volume:this.a.volume,muted:this.a.muted};this.c("volume-change",i,t)}bb(t){this.$a(this.a.currentTime,t),this.c("seeked",this.a.currentTime,t),Math.trunc(this.a.currentTime)===Math.trunc(this.a.duration)&&c(this.a.duration)>c(this.a.currentTime)&&(this.$a(this.a.duration,t),this.a.ended||this.b.player.dispatch(new T("media-play-request",{trigger:t})))}Cg(t){this.c("seeking",this.a.currentTime,t)}ic(t){const i={buffered:this.a.buffered,seekable:this.a.seekable};this.c("progress",i,t)}yg(t){this.c("suspend",void 0,t)}Bg(t){this.c("rate-change",this.a.playbackRate,t)}U(t){const i=this.a.error;if(!i)return;const s={message:i.message,code:i.code,mediaError:i};this.c("error",s,t)}}class C{constructor(t,i){this.i=t,this.b=i,this.Fb.onaddtrack=this.Fg.bind(this),this.Fb.onremovetrack=this.Gg.bind(this),this.Fb.onchange=this.Hg.bind(this),d(this.b.audioTracks,"change",this.Ig.bind(this))}get Fb(){return this.i.media.audioTracks}Fg(t){const i=t.track;if(i.label==="")return;const s={id:i.id.toString(),label:i.label,language:i.language,kind:i.kind,selected:!1};this.b.audioTracks[r.oa](s,t),i.enabled&&(s.selected=!0)}Gg(t){const i=this.b.audioTracks.getById(t.track.id);i&&this.b.audioTracks[r.Yb](i,t)}Hg(t){let i=this.Re();if(!i)return;const s=this.b.audioTracks.getById(i.id);s&&this.b.audioTracks[r.pa](s,!0,t)}Re(){return Array.from(this.Fb).find(t=>t.enabled)}Ig(t){const{current:i}=t.detail;if(!i)return;const s=this.Fb.getTrackById(i.id);if(s){const e=this.Re();e&&(e.enabled=!1),s.enabled=!0}}}class D{constructor(t,i){this.a=t,this.b=i,this.scope=u(),this.V=null}setup(){new S(this,this.b),"audioTracks"in this.media&&new C(this,this.b),o(()=>{this.a.srcObject=null,this.a.removeAttribute("src");for(const t of this.a.querySelectorAll("source"))t.remove();this.a.load()})}get type(){return""}get media(){return this.a}get currentSrc(){return this.V}setPlaybackRate(t){this.a.playbackRate=t}async play(){return this.a.play()}async pause(){return this.a.pause()}setMuted(t){this.a.muted=t}setVolume(t){this.a.volume=t}setCurrentTime(t){this.a.currentTime=t}setPlaysInline(t){h(this.a,"playsinline",t)}async loadSource({src:t,type:i},s){this.a.preload=s||"",l(t)?(this.Bn(),this.a.srcObject=t):(this.a.srcObject=null,b(t)?i!=="?"?this.yn({src:t,type:i}):(this.Bn(),this.a.src=this.Ik(t)):(this.Bn(),this.a.src=window.URL.createObjectURL(t))),this.a.load(),this.V={src:t,type:i}}yn(t,i){const s=this.a.querySelector("source[data-vds]"),e=s??document.createElement("source");h(e,"src",this.Ik(t.src)),h(e,"type",t.type!=="?"?t.type:i),h(e,"data-vds",""),s||this.a.append(e)}Bn(){var t;(t=this.a.querySelector("source[data-vds]"))==null||t.remove()}Ik(t){const{clipStartTime:i,clipEndTime:s}=this.b.$state,e=i(),a=s();return e>0&&a>0?`${t}#t=${e},${a}`:e>0?`${t}#t=${e}`:a>0?`${t}#t=0,${a}`:t}}export{D as H}; diff --git a/assets/vidstack-player-r0CjzTIp.js b/assets/vidstack-player-D_oHjycC.js similarity index 84% rename from assets/vidstack-player-r0CjzTIp.js rename to assets/vidstack-player-D_oHjycC.js index b18741c..f346747 100644 --- a/assets/vidstack-player-r0CjzTIp.js +++ b/assets/vidstack-player-D_oHjycC.js @@ -1,7 +1,7 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/vidstack-DqoEU8C6-D0OCJJMq.js","assets/vidstack-D1JzjGR7-DAkoqXK2.js","assets/app-HW7jk_p0.js","assets/vidstack-D8vpzjIs-BTtv5vWE.js"] + __vite__mapDeps.viteFileDeps = ["assets/vidstack-DqoEU8C6-DxYELl67.js","assets/vidstack-D1JzjGR7-BUOnk6-S.js","assets/app-BoGlXVck.js","assets/vidstack-D8vpzjIs-BTtv5vWE.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -import{H as V,M as $,u as b,e as a,s as o,c as h,a as C,d as g}from"./vidstack-D1JzjGR7-DAkoqXK2.js";import{_ as y}from"./app-HW7jk_p0.js";const d=class d extends V(HTMLElement,$){constructor(){super(...arguments),this.A=null,this.Vj=null}onSetup(){this.a=b(),this.setAttribute("keep-alive","")}onDestroy(){var t,e;(t=this.Vj)==null||t.remove(),this.Vj=null,(e=this.A)==null||e.remove(),this.A=null}onConnect(){a(()=>{var l,v,f;const t=this.$state.loader(),e=(t==null?void 0:t.name)==="youtube",i=(t==null?void 0:t.name)==="vimeo",n=e||i,r=(t==null?void 0:t.name)==="google-cast",s=t?r?this.Sm():n?this.ek():t.mediaType()==="audio"?this.fk():this.Yj():null;if(this.A!==s){const L=((l=this.A)==null?void 0:l.parentElement)??this;(v=this.A)==null||v.remove(),this.A=s,s&&L.prepend(s),n&&s&&a(()=>{var A;const{$iosControls:j}=this.a,{controls:E}=this.a.$state,p=E()||j();p?((A=this.Vj)==null||A.remove(),this.Vj=null):(this.Vj=this.querySelector(".vds-blocker")??document.createElement("div"),this.Vj.classList.add("vds-blocker"),s.after(this.Vj)),o(s,"data-no-controls",!p)})}e?s==null||s.classList.add("vds-youtube"):i&&(s==null||s.classList.add("vds-vimeo")),n||((f=this.Vj)==null||f.remove(),this.Vj=null),this.load(s)})}fk(){const t=this.A instanceof HTMLAudioElement?this.A:document.createElement("audio");o(t,"preload","none"),o(t,"aria-hidden","true");const{controls:e,crossOrigin:i}=this.a.$state;return a(()=>{o(t,"controls",e()),o(t,"crossorigin",i())}),t}Yj(){const t=this.A instanceof HTMLVideoElement?this.A:document.createElement("video"),{controls:e,crossOrigin:i,poster:n}=this.a.$state,{$iosControls:r}=this.a,s=h(()=>e()||r()?"true":null),l=h(()=>n()&&(e()||r())?n():null);return a(()=>{o(t,"controls",s()),o(t,"crossorigin",i()),o(t,"poster",l())}),t}ek(){const t=this.A instanceof HTMLIFrameElement?this.A:document.createElement("iframe"),{controls:e}=this.a.$state,{$iosControls:i}=this.a,n=h(()=>e()||i());return a(()=>o(t,"tabindex",n()?null:-1)),t}Sm(){var e;if((e=this.A)!=null&&e.classList.contains("vds-google-cast"))return this.A;const t=document.createElement("div");return t.classList.add("vds-google-cast"),y(()=>import("./vidstack-DqoEU8C6-D0OCJJMq.js"),__vite__mapDeps([0,1,2,3])).then(({insertContent:i})=>{i(t,this.a.$state)}),t}};d.tagName="media-provider";let m=d;const c=class c extends V(HTMLElement,C){};c.tagName="media-player",c.attrs={autoPlay:"autoplay",crossOrigin:"crossorigin",playsInline:"playsinline",preferNativeHLS:"prefer-native-hls",minLiveDVRWindow:"min-live-dvr-window"};let u=c;g(u);g(m); +import{H as V,M as $,u as b,e as a,s as o,c as h,a as C,d as g}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{_ as y}from"./app-BoGlXVck.js";const d=class d extends V(HTMLElement,$){constructor(){super(...arguments),this.A=null,this.Vj=null}onSetup(){this.a=b(),this.setAttribute("keep-alive","")}onDestroy(){var t,e;(t=this.Vj)==null||t.remove(),this.Vj=null,(e=this.A)==null||e.remove(),this.A=null}onConnect(){a(()=>{var l,v,f;const t=this.$state.loader(),e=(t==null?void 0:t.name)==="youtube",i=(t==null?void 0:t.name)==="vimeo",n=e||i,r=(t==null?void 0:t.name)==="google-cast",s=t?r?this.Sm():n?this.ek():t.mediaType()==="audio"?this.fk():this.Yj():null;if(this.A!==s){const L=((l=this.A)==null?void 0:l.parentElement)??this;(v=this.A)==null||v.remove(),this.A=s,s&&L.prepend(s),n&&s&&a(()=>{var A;const{$iosControls:j}=this.a,{controls:E}=this.a.$state,p=E()||j();p?((A=this.Vj)==null||A.remove(),this.Vj=null):(this.Vj=this.querySelector(".vds-blocker")??document.createElement("div"),this.Vj.classList.add("vds-blocker"),s.after(this.Vj)),o(s,"data-no-controls",!p)})}e?s==null||s.classList.add("vds-youtube"):i&&(s==null||s.classList.add("vds-vimeo")),n||((f=this.Vj)==null||f.remove(),this.Vj=null),this.load(s)})}fk(){const t=this.A instanceof HTMLAudioElement?this.A:document.createElement("audio");o(t,"preload","none"),o(t,"aria-hidden","true");const{controls:e,crossOrigin:i}=this.a.$state;return a(()=>{o(t,"controls",e()),o(t,"crossorigin",i())}),t}Yj(){const t=this.A instanceof HTMLVideoElement?this.A:document.createElement("video"),{controls:e,crossOrigin:i,poster:n}=this.a.$state,{$iosControls:r}=this.a,s=h(()=>e()||r()?"true":null),l=h(()=>n()&&(e()||r())?n():null);return a(()=>{o(t,"controls",s()),o(t,"crossorigin",i()),o(t,"poster",l())}),t}ek(){const t=this.A instanceof HTMLIFrameElement?this.A:document.createElement("iframe"),{controls:e}=this.a.$state,{$iosControls:i}=this.a,n=h(()=>e()||i());return a(()=>o(t,"tabindex",n()?null:-1)),t}Sm(){var e;if((e=this.A)!=null&&e.classList.contains("vds-google-cast"))return this.A;const t=document.createElement("div");return t.classList.add("vds-google-cast"),y(()=>import("./vidstack-DqoEU8C6-DxYELl67.js"),__vite__mapDeps([0,1,2,3])).then(({insertContent:i})=>{i(t,this.a.$state)}),t}};d.tagName="media-provider";let m=d;const c=class c extends V(HTMLElement,C){};c.tagName="media-player",c.attrs={autoPlay:"autoplay",crossOrigin:"crossorigin",playsInline:"playsinline",preferNativeHLS:"prefer-native-hls",minLiveDVRWindow:"min-live-dvr-window"};let u=c;g(u);g(m); diff --git a/assets/vidstack-player-layouts-1puRE4cN.js b/assets/vidstack-player-layouts-7M5XCWBh.js similarity index 99% rename from assets/vidstack-player-layouts-1puRE4cN.js rename to assets/vidstack-player-layouts-7M5XCWBh.js index 197f2ee..c0ec9cc 100644 --- a/assets/vidstack-player-layouts-1puRE4cN.js +++ b/assets/vidstack-player-layouts-7M5XCWBh.js @@ -4,7 +4,7 @@ function __vite__mapDeps(indexes) { } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -var ie=Object.getPrototypeOf;var le=Reflect.get;var Z=(e,t,s)=>le(ie(e),s,t);import{c as g,p as Pt,e as T,b as Dt,o as P,i as R,C as re,u as h,f as Mt,g as ue,h as At,j as st,D as ce,k as at,l as k,n as de,m as x,q as Ot,r as nt,t as Vt,v as W,w as Lt,H as ot,x as G,y as pe,z as me,A as ve,B as wt,s as It,E as fe,F as be,G as $e,I as he,J as m,P as ge,K as ye,L as _e,N as Bt,O as Rt,d as it}from"./vidstack-D1JzjGR7-DAkoqXK2.js";import{e as xe,c as we,t as Ct,A as Ce,l as lt,D as Te,x as n,o as ke,n as E,L as rt,i as Se,a as Ft}from"./vidstack-CbhL8rpf-C0Lj70YY.js";import{_ as Nt}from"./app-HW7jk_p0.js";class Pe extends we{constructor(t){super(t),this.h=null,this.w=!1,this.ra=null,this.w=t.type===Ct.ATTRIBUTE||t.type===Ct.BOOLEAN_ATTRIBUTE}render(t){return t!==this.h&&(this.disconnected(),this.h=t,this.isConnected&&this.Si()),this.h?this.el(Pt(this.h)):Ce}reconnected(){this.Si()}disconnected(){var t;(t=this.ra)==null||t.call(this),this.ra=null}Si(){this.h&&(this.ra=T(this.o.bind(this)))}el(t){return this.w?lt(t):t}hl(t){this.setValue(this.el(t))}o(){var t;this.hl((t=this.h)==null?void 0:t.call(this))}}function i(e){return xe(Pe)(g(e))}class Et{constructor(t,s){this.Wj=t,this.Ca=s,this.elements=new Set,this.vf=Dt(this.ea.bind(this))}connect(){this.ea();const t=new MutationObserver(this.vf);t.observe(this.Wj,{childList:!0,subtree:!0}),P(()=>t.disconnect()),P(this.disconnect.bind(this))}disconnect(){this.elements.clear()}assign(t,s){t instanceof Node?(s.textContent="",s.append(t)):Te(t,s),s.style.display||(s.style.display="contents");const a=s.firstElementChild;if(!a)return;const o=s.getAttribute("data-class");o&&a.classList.add(...o.split(" "))}ea(t){if(t&&!t.some(o=>o.addedNodes.length))return;let s=!1,a=this.Wj.querySelectorAll("slot");for(const o of a)!o.hasAttribute("name")||this.elements.has(o)||(this.elements.add(o),s=!0);s&&this.Ca(this.elements)}}let De=0,j="data-slot-id";class ut{constructor(t){this.Wj=t,this.vf=Dt(this.ea.bind(this)),this.slots=new Et(t,this.ea.bind(this))}connect(){this.slots.connect(),this.ea();const t=new MutationObserver(this.vf);t.observe(this.Wj,{childList:!0}),P(()=>t.disconnect())}ea(){for(const t of this.Wj.children){if(t.nodeType!==1)continue;const s=t.getAttribute("slot");if(!s)continue;t.style.display="none";let a=t.getAttribute(j);a||t.setAttribute(j,a=++De+"");for(const o of this.slots.elements){if(o.getAttribute("name")!==s||o.getAttribute(j)===a)continue;const l=document.importNode(t,!0);s.includes("-icon")&&l.classList.add("vds-icon"),l.style.display="",l.removeAttribute("slot"),this.slots.assign(l,o),o.setAttribute(j,a)}}}}function jt({name:e,class:t,state:s,paths:a,viewBox:o="0 0 32 32"}){return n`le(ie(e),s,t);import{c as g,p as Pt,e as T,b as Dt,o as P,i as R,C as re,u as h,f as Mt,g as ue,h as At,j as st,D as ce,k as at,l as k,n as de,m as x,q as Ot,r as nt,t as Vt,v as W,w as Lt,H as ot,x as G,y as pe,z as me,A as ve,B as wt,s as It,E as fe,F as be,G as $e,I as he,J as m,P as ge,K as ye,L as _e,N as Bt,O as Rt,d as it}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{e as xe,c as we,t as Ct,A as Ce,l as lt,D as Te,x as n,o as ke,n as E,L as rt,i as Se,a as Ft}from"./vidstack-CbhL8rpf-C0Lj70YY.js";import{_ as Nt}from"./app-BoGlXVck.js";class Pe extends we{constructor(t){super(t),this.h=null,this.w=!1,this.ra=null,this.w=t.type===Ct.ATTRIBUTE||t.type===Ct.BOOLEAN_ATTRIBUTE}render(t){return t!==this.h&&(this.disconnected(),this.h=t,this.isConnected&&this.Si()),this.h?this.el(Pt(this.h)):Ce}reconnected(){this.Si()}disconnected(){var t;(t=this.ra)==null||t.call(this),this.ra=null}Si(){this.h&&(this.ra=T(this.o.bind(this)))}el(t){return this.w?lt(t):t}hl(t){this.setValue(this.el(t))}o(){var t;this.hl((t=this.h)==null?void 0:t.call(this))}}function i(e){return xe(Pe)(g(e))}class Et{constructor(t,s){this.Wj=t,this.Ca=s,this.elements=new Set,this.vf=Dt(this.ea.bind(this))}connect(){this.ea();const t=new MutationObserver(this.vf);t.observe(this.Wj,{childList:!0,subtree:!0}),P(()=>t.disconnect()),P(this.disconnect.bind(this))}disconnect(){this.elements.clear()}assign(t,s){t instanceof Node?(s.textContent="",s.append(t)):Te(t,s),s.style.display||(s.style.display="contents");const a=s.firstElementChild;if(!a)return;const o=s.getAttribute("data-class");o&&a.classList.add(...o.split(" "))}ea(t){if(t&&!t.some(o=>o.addedNodes.length))return;let s=!1,a=this.Wj.querySelectorAll("slot");for(const o of a)!o.hasAttribute("name")||this.elements.has(o)||(this.elements.add(o),s=!0);s&&this.Ca(this.elements)}}let De=0,j="data-slot-id";class ut{constructor(t){this.Wj=t,this.vf=Dt(this.ea.bind(this)),this.slots=new Et(t,this.ea.bind(this))}connect(){this.slots.connect(),this.ea();const t=new MutationObserver(this.vf);t.observe(this.Wj,{childList:!0}),P(()=>t.disconnect())}ea(){for(const t of this.Wj.children){if(t.nodeType!==1)continue;const s=t.getAttribute("slot");if(!s)continue;t.style.display="none";let a=t.getAttribute(j);a||t.setAttribute(j,a=++De+"");for(const o of this.slots.elements){if(o.getAttribute("name")!==s||o.getAttribute(j)===a)continue;const l=document.importNode(t,!0);s.includes("-icon")&&l.classList.add("vds-icon"),l.style.display="",l.removeAttribute("slot"),this.slots.assign(l,o),o.setAttribute(j,a)}}}}function jt({name:e,class:t,state:s,paths:a,viewBox:o="0 0 32 32"}){return n`{o(this.Uj,"alt",e()),o(this.Uj,"crossorigin",i()),o(this.Uj,"src",t()||"")}),n(()=>{const{loading:c,hidden:r}=this.$state;this.Uj.style.display=c()||r()?"none":""})}};N.tagName="media-poster",N.attrs={crossOrigin:"crossorigin"};let C=N;const aa=ms(''),H=class H extends a(HTMLElement,gs){constructor(){super(...arguments),this.Uj=this.gk()}onSetup(){this.a=p(),this.$state.img.set(this.Uj)}onConnect(){const{src:t,crossOrigin:e}=this.$state;this.Uj.parentNode!==this&&this.prepend(this.Uj),n(()=>{o(this.Uj,"src",t()),o(this.Uj,"crossorigin",e())})}gk(){return os(aa)}};H.tagName="media-thumbnail",H.attrs={crossOrigin:"crossorigin"};let d=H;const xt=class xt extends a(HTMLElement,ps){onConnect(){n(()=>{this.textContent=this.$state.timeText()})}};xt.tagName="media-time";let j=xt;const dt=class dt extends a(HTMLElement,us){};dt.tagName="media-airplay-button";let y=dt;const Nt=class Nt extends a(HTMLElement,xs){};Nt.tagName="media-caption-button";let $=Nt;const Ht=class Ht extends a(HTMLElement,ds){};Ht.tagName="media-fullscreen-button";let k=Ht;const Tt=class Tt extends a(HTMLElement,Ns){};Tt.tagName="media-live-button";let v=Tt;const ft=class ft extends a(HTMLElement,Hs){};ft.tagName="media-mute-button";let U=ft;const Lt=class Lt extends a(HTMLElement,Ts){};Lt.tagName="media-pip-button";let q=Lt;const bt=class bt extends a(HTMLElement,fs){};bt.tagName="media-play-button";let w=bt;const Ct=class Ct extends a(HTMLElement,Ls){};Ct.tagName="media-seek-button";let S=Ct;function u(m,t){L(()=>{if(!m.connectScope)return;const e=m.querySelector("template");e&&n(()=>{const i=m.getOptions();rs(e,i.length,(c,r)=>{const{label:h,value:x}=i[r],l=c.querySelector('[data-part="label"]');c.setAttribute("value",x),l&&(ut(h)?l.textContent=h:n(()=>{l.textContent=h()})),t==null||t(c,i[r],r)})})})}const jt=class jt extends a(HTMLElement,bs){onConnect(){u(this)}};jt.tagName="media-audio-radio-group";let O=jt;const yt=class yt extends a(HTMLElement,Cs){onConnect(){u(this)}};yt.tagName="media-captions-radio-group";let A=yt;const $t=class $t extends a(HTMLElement,js){};$t.tagName="media-menu";let X=$t;const kt=class kt extends a(HTMLElement,ns){};kt.tagName="media-menu-button";let J=kt;const vt=class vt extends a(HTMLElement,sa){};vt.tagName="media-menu-item";let W=vt;const Ut=class Ut extends a(HTMLElement,ys){};Ut.tagName="media-menu-items";let Y=Ut;const qt=class qt extends a(HTMLElement,$s){onConnect(){u(this)}};qt.tagName="media-speed-radio-group";let Z=qt;const wt=class wt extends a(HTMLElement,ks){onConnect(){u(this,(t,e)=>{const i=e.bitrate,c=t.querySelector('[data-part="bitrate"]');i&&c&&n(()=>{c.textContent=i()||""})})}};wt.tagName="media-quality-radio-group";let z=wt;const St=class St extends d{onSetup(){super.onSetup(),this.Q=vs(hs.state)}onConnect(){super.onConnect(),n(this.ag.bind(this))}ag(){const{duration:t,clipStartTime:e}=this.a.$state;this.time=e()+this.Q.pointerRate()*t()}};St.tagName="media-slider-thumbnail";let Q=St;const T=class T extends a(HTMLElement,Us){onConnect(){n(()=>{this.textContent=this.getValueText()})}};T.tagName="media-slider-value",T.attrs={padMinutes:{converter:qs}};let D=T;const Ot=class Ot extends a(HTMLElement,ws){};Ot.tagName="media-time-slider";let F=Ot;const At=class At extends a(HTMLElement,Ss){};At.tagName="media-slider-preview";let K=At;const Xt=class Xt extends a(HTMLElement,Os){};Xt.tagName="media-volume-slider";let V=Xt;class ea extends g{onAttach(t){t.style.pointerEvents||As(t,"pointer-events","auto")}}class ia extends g{constructor(){super(),new Xs}onConnect(t){es(L(()=>{if(!this.connectScope)return;this.Ja();const e=is(cs);es(()=>{const i=this.Cc();i&&e.Kd(i)})}))}Ja(){const t=this.Cc(),e=is(cs);t&&e.Jd(t)}Cc(){const t=this.el.firstElementChild;return(t==null?void 0:t.localName)==="button"||(t==null?void 0:t.getAttribute("role"))==="button"?t:this.el}}const Jt=class Jt extends a(HTMLElement,Js){};Jt.tagName="media-captions";let I=Jt;const Wt=class Wt extends a(HTMLElement,Ws){};Wt.tagName="media-gesture";let R=Wt;const Yt=class Yt extends a(HTMLElement,Ys){};Yt.tagName="media-controls";let P=Yt;const Zt=class Zt extends a(HTMLElement,ea){};Zt.tagName="media-controls-group";let B=Zt;class ca extends g{}const zt=class zt extends a(HTMLElement,ca){onSetup(){this.a=p()}onConnect(){n(this.uc.bind(this))}uc(){const{title:t}=this.a.$state;this.textContent=t()}};zt.tagName="media-title";let G=zt;class na extends g{}const Qt=class Qt extends a(HTMLElement,na){onSetup(){this.a=p(),this.Xj=Zs("")}onConnect(){const t=this.a.textTracks;zs(t,"chapters",this.Xj.set),n(()=>{this.textContent=this.Xj()})}};Qt.tagName="media-chapter-title";let E=Qt;const Dt=class Dt extends g{onConnect(t){L(()=>{if(!this.connectScope)return;const e=t.querySelector("svg"),i=e.firstElementChild,c=i.nextElementSibling;n(this.ea.bind(this,e,i,c))})}ea(t,e,i){const{size:c,trackWidth:r,fillPercent:h}=this.$props;o(t,"width",c()),o(t,"height",c()),o(e,"stroke-width",r()),o(i,"stroke-width",r()),o(i,"stroke-dashoffset",100-h())}};Dt.props={size:96,trackWidth:8,fillPercent:50};let _=Dt;const Ft=class Ft extends a(Ms,_){render(){return ta` +import{Q as ns,H as a,R as ls,e as n,T as gs,u as p,S as os,U as ps,V as us,W as xs,X as ds,Y as Ns,Z as Hs,_ as Ts,$ as fs,a0 as Ls,a1 as bs,a2 as Cs,a3 as js,a4 as ys,a5 as $s,a6 as ks,a7 as vs,a8 as Us,a9 as qs,aa as ws,ab as Ss,ac as Os,s as o,ad as L,ae as rs,i as ut,af as hs,ag as ms,C as g,ah as As,ai as Xs,o as es,j as is,aj as cs,ak as Js,al as Ws,am as Ys,m as Zs,an as zs,g as Qs,c as Ds,ao as Fs,ap as Ks,aq as Vs,ar as Is,as as Rs,at as Ps,au as Bs,av as Gs,aw as Es,ax as _s,d as s}from"./vidstack-D1JzjGR7-BUOnk6-S.js";import{L as Ms,x as ta}from"./vidstack-CbhL8rpf-C0Lj70YY.js";import"./app-BoGlXVck.js";class sa extends ns{}const N=class N extends a(HTMLElement,ls){constructor(){super(...arguments),this.Uj=document.createElement("img")}onSetup(){this.$state.img.set(this.Uj)}onConnect(){const{src:t,alt:e,crossOrigin:i}=this.$state;this.Uj.parentNode!==this&&this.prepend(this.Uj),n(()=>{o(this.Uj,"alt",e()),o(this.Uj,"crossorigin",i()),o(this.Uj,"src",t()||"")}),n(()=>{const{loading:c,hidden:r}=this.$state;this.Uj.style.display=c()||r()?"none":""})}};N.tagName="media-poster",N.attrs={crossOrigin:"crossorigin"};let C=N;const aa=ms(''),H=class H extends a(HTMLElement,gs){constructor(){super(...arguments),this.Uj=this.gk()}onSetup(){this.a=p(),this.$state.img.set(this.Uj)}onConnect(){const{src:t,crossOrigin:e}=this.$state;this.Uj.parentNode!==this&&this.prepend(this.Uj),n(()=>{o(this.Uj,"src",t()),o(this.Uj,"crossorigin",e())})}gk(){return os(aa)}};H.tagName="media-thumbnail",H.attrs={crossOrigin:"crossorigin"};let d=H;const xt=class xt extends a(HTMLElement,ps){onConnect(){n(()=>{this.textContent=this.$state.timeText()})}};xt.tagName="media-time";let j=xt;const dt=class dt extends a(HTMLElement,us){};dt.tagName="media-airplay-button";let y=dt;const Nt=class Nt extends a(HTMLElement,xs){};Nt.tagName="media-caption-button";let $=Nt;const Ht=class Ht extends a(HTMLElement,ds){};Ht.tagName="media-fullscreen-button";let k=Ht;const Tt=class Tt extends a(HTMLElement,Ns){};Tt.tagName="media-live-button";let v=Tt;const ft=class ft extends a(HTMLElement,Hs){};ft.tagName="media-mute-button";let U=ft;const Lt=class Lt extends a(HTMLElement,Ts){};Lt.tagName="media-pip-button";let q=Lt;const bt=class bt extends a(HTMLElement,fs){};bt.tagName="media-play-button";let w=bt;const Ct=class Ct extends a(HTMLElement,Ls){};Ct.tagName="media-seek-button";let S=Ct;function u(m,t){L(()=>{if(!m.connectScope)return;const e=m.querySelector("template");e&&n(()=>{const i=m.getOptions();rs(e,i.length,(c,r)=>{const{label:h,value:x}=i[r],l=c.querySelector('[data-part="label"]');c.setAttribute("value",x),l&&(ut(h)?l.textContent=h:n(()=>{l.textContent=h()})),t==null||t(c,i[r],r)})})})}const jt=class jt extends a(HTMLElement,bs){onConnect(){u(this)}};jt.tagName="media-audio-radio-group";let O=jt;const yt=class yt extends a(HTMLElement,Cs){onConnect(){u(this)}};yt.tagName="media-captions-radio-group";let A=yt;const $t=class $t extends a(HTMLElement,js){};$t.tagName="media-menu";let X=$t;const kt=class kt extends a(HTMLElement,ns){};kt.tagName="media-menu-button";let J=kt;const vt=class vt extends a(HTMLElement,sa){};vt.tagName="media-menu-item";let W=vt;const Ut=class Ut extends a(HTMLElement,ys){};Ut.tagName="media-menu-items";let Y=Ut;const qt=class qt extends a(HTMLElement,$s){onConnect(){u(this)}};qt.tagName="media-speed-radio-group";let Z=qt;const wt=class wt extends a(HTMLElement,ks){onConnect(){u(this,(t,e)=>{const i=e.bitrate,c=t.querySelector('[data-part="bitrate"]');i&&c&&n(()=>{c.textContent=i()||""})})}};wt.tagName="media-quality-radio-group";let z=wt;const St=class St extends d{onSetup(){super.onSetup(),this.Q=vs(hs.state)}onConnect(){super.onConnect(),n(this.ag.bind(this))}ag(){const{duration:t,clipStartTime:e}=this.a.$state;this.time=e()+this.Q.pointerRate()*t()}};St.tagName="media-slider-thumbnail";let Q=St;const T=class T extends a(HTMLElement,Us){onConnect(){n(()=>{this.textContent=this.getValueText()})}};T.tagName="media-slider-value",T.attrs={padMinutes:{converter:qs}};let D=T;const Ot=class Ot extends a(HTMLElement,ws){};Ot.tagName="media-time-slider";let F=Ot;const At=class At extends a(HTMLElement,Ss){};At.tagName="media-slider-preview";let K=At;const Xt=class Xt extends a(HTMLElement,Os){};Xt.tagName="media-volume-slider";let V=Xt;class ea extends g{onAttach(t){t.style.pointerEvents||As(t,"pointer-events","auto")}}class ia extends g{constructor(){super(),new Xs}onConnect(t){es(L(()=>{if(!this.connectScope)return;this.Ja();const e=is(cs);es(()=>{const i=this.Cc();i&&e.Kd(i)})}))}Ja(){const t=this.Cc(),e=is(cs);t&&e.Jd(t)}Cc(){const t=this.el.firstElementChild;return(t==null?void 0:t.localName)==="button"||(t==null?void 0:t.getAttribute("role"))==="button"?t:this.el}}const Jt=class Jt extends a(HTMLElement,Js){};Jt.tagName="media-captions";let I=Jt;const Wt=class Wt extends a(HTMLElement,Ws){};Wt.tagName="media-gesture";let R=Wt;const Yt=class Yt extends a(HTMLElement,Ys){};Yt.tagName="media-controls";let P=Yt;const Zt=class Zt extends a(HTMLElement,ea){};Zt.tagName="media-controls-group";let B=Zt;class ca extends g{}const zt=class zt extends a(HTMLElement,ca){onSetup(){this.a=p()}onConnect(){n(this.uc.bind(this))}uc(){const{title:t}=this.a.$state;this.textContent=t()}};zt.tagName="media-title";let G=zt;class na extends g{}const Qt=class Qt extends a(HTMLElement,na){onSetup(){this.a=p(),this.Xj=Zs("")}onConnect(){const t=this.a.textTracks;zs(t,"chapters",this.Xj.set),n(()=>{this.textContent=this.Xj()})}};Qt.tagName="media-chapter-title";let E=Qt;const Dt=class Dt extends g{onConnect(t){L(()=>{if(!this.connectScope)return;const e=t.querySelector("svg"),i=e.firstElementChild,c=i.nextElementSibling;n(this.ea.bind(this,e,i,c))})}ea(t,e,i){const{size:c,trackWidth:r,fillPercent:h}=this.$props;o(t,"width",c()),o(t,"height",c()),o(e,"stroke-width",r()),o(i,"stroke-width",r()),o(i,"stroke-dashoffset",100-h())}};Dt.props={size:96,trackWidth:8,fillPercent:50};let _=Dt;const Ft=class Ft extends a(Ms,_){render(){return ta` - - + +
跳至主要內容
Navigator Jyutping

Navigator Jyutping

gaan2  daan1  hap6  lei5  ,  ji6  hok6  ji6  jung6  ,
tung1  hang4  jyut6  jyu5  ping3  jam1  fong1  on3 

開始學習資源分享

爲什麽要學習粵拼?

  • 漢字并非拼音文字,需要一個拼音方案來準確表達粵語的發音。

  • 學普通話要學普通話拼音,學粵語就要學粵拼。掌握粵拼可以幫助糾正懶音錯音,規範自己的粵語發音。

  • 學會了粵拼,就能用粵拼輸入法作爲最自然簡單的打字方式輸入粵語。

- + diff --git a/js/soundplay.js b/js/soundplay.js index 80213dd..06ed2d6 100644 --- a/js/soundplay.js +++ b/js/soundplay.js @@ -1,17 +1,16 @@ - function _play(soundname) { - const audio = new Audio() - audio.src = "https://humanum.arts.cuhk.edu.hk/Lexis/lexi-can/sound/" + soundname + ".wav" - audio.play() + const audio = new Audio(); + audio.src = "https://humanum.arts.cuhk.edu.hk/Lexis/lexi-can/sound/" + soundname + ".wav"; + audio.play(); } function _compare(firstsound, secondsound) { - const firstAudio = new Audio() + const firstAudio = new Audio(); firstAudio.src = "https://humanum.arts.cuhk.edu.hk/Lexis/lexi-can/sound/" + firstsound + ".wav" firstAudio.play(); firstAudio.addEventListener('ended', function () { - const secondAudio = new Audio() + const secondAudio = new Audio(); secondAudio.src = "https://humanum.arts.cuhk.edu.hk/Lexis/lexi-can/sound/" + secondsound + ".wav" secondAudio.play(); }) -} \ No newline at end of file +} diff --git a/learning/compare.html b/learning/compare.html index ea70bf5..a8cb148 100644 --- a/learning/compare.html +++ b/learning/compare.html @@ -30,11 +30,11 @@ 基於漢語拼音的粵拼學習 | Navigator Jyutping - - + + -
跳至主要內容

基於漢語拼音的粵拼學習

AvalonC大约 6 分鐘學習

前言

本文將展示普通話漢語拼音與粵拼之間的區別,以幫助掌握普通話漢語拼音的使用者更快的理解粵拼,以此便於學習其他粵語教學材料。

  • 寫法區別:該發音在普通話與粵語中發相同的音,但由於粵語有一些普通話所不包含的發音,從國際音標和字母限制的角度考慮,使用了不同的寫法。
  • 音系區別:該發音是粵語獨有的,需要額外的學習與記憶。

在學習拼音方案分別之前,先要理解粵語的「六調」。

在粵拼方案中,不同於普通話注音的將音調標記在字母之上,粵拼將音調以數字1-6展示。

音調

粵語中有六個聲調,不同於普通話的四個聲調。普通話裏的四個聲調如下:

普通話音調
普通話音調
聲調陰平陽平上聲去聲
調值553521451
舉例詩 shī實 shí史 shǐ世 shì

而到粵語中則變化爲六個聲調*,如下:

粵語音調
粵語音調
聲調陰平陰上陰去陽平陽上陽去
調值553533211322
舉例詩 si1史 si2試 si3時 si4市 si5事 si6

關於粵語中“入”聲調在粵拼中的使用

已經掌握粵語的讀者會發現此處未有標注高陰入,低陰入和陽入。

實際上來説,高陰入、低陰入、陽入聲調的音高,與陰平、陰去、陽去是一樣的(55 & 5, 33 &3, 22 &2),在粵拼方案中,以-p、-t、-k這些韻尾做出區別,傳統聲調的定義,包括抑揚性(即實際音高)和頓挫性。而入聲韻尾 -p、-t、-k 正是影響了其頓挫性。

因此粵語有「九聲六調」,標調時可以只視乎實際音高,用1至6六個數字,入聲看韻尾字母區分即可。懂粵語的讀者可將下方例和上方例一同閲讀下來即可理解。

例: 忽 fat1, 法 faat3, 罰 fat5

寫法區別

1. y -> j

在普通話拼音中的y在粵拼中寫作j,考慮有二

  • 在國際音標中,其發音為 [j],漢語拼音中將此發音寫作y是沿用了英語的方式(例: young: [jʌŋ])
  • 粵拼方案的出發點是僅使用ASCII字符表達發音,因此如果將這個音寫作y,會容易與韻母yu混淆。
例字正確寫法
jat1yat1

2. ü -> yu

在漢語拼音中的ü在粵拼中寫作yu,避免混淆的同時也將字母運用限制在26個字母内

例字正確寫法
zyu1zü1
jyu5jü5/ ju5

3.gu-,ku- -> gw-, kw-

gu-, ku-以gw-,kw-寫作

例字正確寫法
kwong4kuong4
kwan1kuan1

4. ao -> aau

同y -> j,是遵循國際音標的寫法

例字正確寫法
haau2hao2/haao2
baau1bao1/baao1

5. ong -> ung

漢語拼音中的 ong 和粵拼的 ung 發音是一樣的,國際音標都是 [ʊŋ]

粵拼中的 ong 是普通話中不存在的發音,國際音標爲 [ɔŋ]。

例:

鍾 zung1

江 gong1

音系區別

1. 韻腹aa 與 a

普拼的 a 等同於粵拼的 aa,國際音標是 [a]。

而粵拼裏的 a 是個普通話沒有的音,它的國際音標是 [ɐ]。aa 和 a 是兩個不同的韻腹,不能混淆。

aaa
三 saam1心 sam1
山 saan1身 san1
稍 saau1手 sau1

2.韻腹 eo、oe

這兩個韻母的國際音標分別是 [ɵ]、[œ],普通話裏沒有這兩個發音,需要另加練習。

eooe
率 seot1削 soek3
潤 jeon6讓 joeng6

3.韻母 e

粵拼裏的 e 永遠只代表一個發音 [ɛ~e],這個音類似於英語單詞 「yes」 的元音。

寫 se2

石 sek6

借 ze2

鄭 zeng6

4.韻母 i

在普通話中,i有兩種發音:

  • zi ci si [z̩]
  • ji qi xi [i]

在粵語中亦是如此,粵拼中的 i 在大多數時候代表發音 [i],而在韻尾為-k或-ng的時候發音是 [ɪ]。

[i][ɪ]
詩 si1識 sik1
知 zi1即 zik1
仙 sin1星 sing1

5.韻母 ui、o

普通話拼音中有兩個韻母縮寫,分別是 ui 和 o。

  • ui 其實是 uei 的縮寫,例如「會」字的拼音其實是 huei,只不過縮寫成了 hui。
  • 同樣地,韻母 uo 在搭配聲母 b p m f 時會縮寫成 o。 例如「波」字的普通話發音其實是 buo,但縮寫成 bo

粵拼不使用韻母縮寫,也沒有 uei 和 uo 這兩個韻母。粵拼中的 ui 和 o 一致表示 [u͡i] 和 [ɔː] 的發音。

uio
會 wui3和 wo4
杯 bui1波 bo1
癐 gui6歌 go1

6.聲母 ng-

這個音的國際音標是 [ŋ]。普通話裏沒有這個聲母,而粵語裏的聲母 ng- 和零聲母 Ø- 是有所不同的。

零聲母是無需移動舌頭直接發聲,而ng-需要舌根略微後移,略微有抵住喉嚨的感覺,然後發生。(可以普通話讀一讀鷹這個字,感受讀到ing的時候此時口腔的感覺)

普通話母語者初學這個聲母會有點困難,因爲普通話裏的 ng 只存在於韻尾(後鼻音),需要稍加練習在聲母位置發這個音。

ng-Ø-
岸 ngon6按 on3
雁 ngaan6晏 aan3

7.韻尾 -m

普通話裏的鼻音韻尾只有 -n 和 -ng(前鼻音和後鼻音),沒有 -m。

而粵語保留了 -m、-n、-ng 三種鼻音韻尾。

-m-n-ng
三 saam1山 saan1生 saang1
含 ham4痕 han4岸 hang4
尖 zim1煎 zin1精 zing1

8.韻尾 -p、-t、-k

這三個韻尾就是傳統意義上的「入聲」。因爲普通話裏沒有入聲,所以對於普通話母語者來說需要花點時間來練習,下面的例字音頻可能要反覆播放對比才能聽出區別。

粵語裏的入聲韻尾 -p、-t、-k 很像英語單詞 cap、put、book 末尾的輔音,但一個最大的區別是,粵語的入聲韻尾都是不除阻的(國際音標分別是 [p̚]、[t̚]、[k̚]),也就是音節末尾需保持類似英語p t k的口型,但不會像英語閲讀一樣呼出空氣。

-p-t-k
濕 sap1失 sat1塞 sak1
接 zip3節 zit1脊 zek3
集 zaap6活 wut6六 luk6
- +
跳至主要內容

基於漢語拼音的粵拼學習

AvalonC大约 7 分鐘學習

前言

本文將展示普通話漢語拼音與粵拼之間的區別,以幫助掌握普通話漢語拼音的使用者更快的理解粵拼,以此便於學習其他粵語教學材料。

  • 寫法區別:該發音在普通話與粵語中發相同的音,但由於粵語有一些普通話所不包含的發音,從國際音標和字母限制的角度考慮,使用了不同的寫法。
  • 音系區別:該發音是粵語獨有的,需要額外的學習與記憶。

在學習拼音方案分別之前,先要理解粵語的「六調」。

在粵拼方案中,不同於普通話注音的將音調標記在字母之上,粵拼將音調以數字1-6展示。

音調

關於音調

初學者或非母語者應當關注單字的發音,學習過程中以避免形成懶音,錯音或吞音。輸入的時候亦應該輸入音調來强化記憶

但粵語母語者在使用粵拼輸入法的時候可以不輸入音調,因爲打出正確的粵拼即可將範圍限制在一定的字内。然而,輸入音調可以提高輸入效率,令輸入法更快理解你想要輸入的詞匯或短語。

粵語中有六個聲調,不同於普通話的四個聲調。普通話裏的四個聲調如下:

普通話音調
普通話音調
聲調陰平陽平上聲去聲
調值553521451
舉例詩 shī實 shí史 shǐ世 shì

而到粵語中則變化爲六個聲調*,如下:

粵語音調
粵語音調
聲調陰平陰上陰去陽平陽上陽去
調值553533211322
舉例詩 si1史 si2試 si3時 si4市 si5事 si6

關於粵語中“入”聲調在粵拼中的使用

已經掌握粵語的讀者會發現此處未有標注高陰入,低陰入和陽入。

實際上來説,高陰入、低陰入、陽入聲調的音高,與陰平、陰去、陽去是一樣的(55 & 5, 33 &3, 22 &2),在粵拼方案中,以-p、-t、-k這些韻尾做出區別,傳統聲調的定義,包括抑揚性(即實際音高)和頓挫性。而入聲韻尾 -p、-t、-k 正是影響了其頓挫性。

因此粵語有「九聲六調」,標調時可以只視乎實際音高,用1至6六個數字,入聲看韻尾字母區分即可。懂粵語的讀者可將下方例和上方例一同閲讀下來即可理解。

例: 忽 fat1, 法 faat3, 罰 fat5

寫法區別

1. y -> j

在普通話拼音中的y在粵拼中寫作j,考慮有二

  • 在國際音標中,其發音為 [j],漢語拼音中將此發音寫作y是沿用了英語的方式(例: young: [jʌŋ])
  • 粵拼方案的出發點是僅使用ASCII字符表達發音,因此如果將這個音寫作y,會容易與韻母yu混淆。
例字正確寫法
jat1yat1

2. ü -> yu

在漢語拼音中的ü在粵拼中寫作yu,避免混淆的同時也將字母運用限制在26個字母内

例字正確寫法
zyu1zü1
jyu5jü5/ ju5

3.gu-,ku- -> gw-, kw-

gu-, ku-以gw-,kw-寫作

例字正確寫法
kwong4kuong4
kwan1kuan1

4. ao -> aau

同y -> j,是遵循國際音標的寫法

例字正確寫法
haau2hao2/haao2
baau1bao1/baao1

5. ong -> ung

漢語拼音中的 ong 和粵拼的 ung 發音是一樣的,國際音標都是 [ʊŋ]

粵拼中的 ong 是普通話中不存在的發音,國際音標爲 [ɔŋ]。

例:

鍾 zung1

江 gong1

音系區別

1. 韻腹aa 與 a

普拼的 a 等同於粵拼的 aa,國際音標是 [a]。

而粵拼裏的 a 是個普通話沒有的音,它的國際音標是 [ɐ]。aa 和 a 是兩個不同的韻腹,不能混淆。

aaa
三 saam1心 sam1
山 saan1身 san1
稍 saau1手 sau1

2.韻腹 eo、oe

這兩個韻母的國際音標分別是 [ɵ]、[œ],普通話裏沒有這兩個發音,需要另加練習。

eooe
率 seot1削 soek3
潤 jeon6讓 joeng6

3.韻母 e

粵拼裏的 e 永遠只代表一個發音 [ɛ~e],這個音類似於英語單詞 「yes」 的元音。

寫 se2

石 sek6

借 ze2

鄭 zeng6

4.韻母 i

在普通話中,i有兩種發音:

  • zi ci si [z̩]
  • ji qi xi [i]

在粵語中亦是如此,粵拼中的 i 在大多數時候代表發音 [i],而在韻尾為-k或-ng的時候發音是 [ɪ]。

[i][ɪ]
詩 si1識 sik1
知 zi1即 zik1
仙 sin1星 sing1

5.韻母 ui、o

普通話拼音中有兩個韻母縮寫,分別是 ui 和 o。

  • ui 其實是 uei 的縮寫,例如「會」字的拼音其實是 huei,只不過縮寫成了 hui。
  • 同樣地,韻母 uo 在搭配聲母 b p m f 時會縮寫成 o。 例如「波」字的普通話發音其實是 buo,但縮寫成 bo

粵拼不使用韻母縮寫,也沒有 uei 和 uo 這兩個韻母。粵拼中的 ui 和 o 一致表示 [u͡i] 和 [ɔː] 的發音。

uio
會 wui3和 wo4
杯 bui1波 bo1
癐 gui6歌 go1

6.聲母 ng-

這個音的國際音標是 [ŋ]。普通話裏沒有這個聲母,而粵語裏的聲母 ng- 和零聲母 Ø- 是有所不同的。

零聲母是無需移動舌頭直接發聲,而ng-需要舌根略微後移,略微有抵住喉嚨的感覺,然後發生。(可以普通話讀一讀鷹這個字,感受讀到ing的時候此時口腔的感覺)

普通話母語者初學這個聲母會有點困難,因爲普通話裏的 ng 只存在於韻尾(後鼻音),需要稍加練習在聲母位置發這個音。

ng-Ø-
岸 ngon6按 on3
雁 ngaan6晏 aan3

7.韻尾 -m

普通話裏的鼻音韻尾只有 -n 和 -ng(前鼻音和後鼻音),沒有 -m。

而粵語保留了 -m、-n、-ng 三種鼻音韻尾。

-m-n-ng
三 saam1山 saan1生 saang1
含 ham4痕 han4岸 hang4
尖 zim1煎 zin1精 zing1

8.韻尾 -p、-t、-k

這三個韻尾就是傳統意義上的「入聲」。因爲普通話裏沒有入聲,所以對於普通話母語者來說需要花點時間來練習,下面的例字音頻可能要反覆播放對比才能聽出區別。

粵語裏的入聲韻尾 -p、-t、-k 很像英語單詞 cap、put、book 末尾的輔音,但一個最大的區別是,粵語的入聲韻尾都是不除阻的(國際音標分別是 [p̚]、[t̚]、[k̚]),也就是音節末尾需保持類似英語p t k的口型,但不會像英語閲讀一樣呼出空氣。

-p-t-k
濕 sap1失 sat1塞 sak1
接 zip3節 zit1脊 zek3
集 zaap6活 wut6六 luk6
+ diff --git a/learning/index.html b/learning/index.html index a9a6710..ae3ebb5 100644 --- a/learning/index.html +++ b/learning/index.html @@ -30,11 +30,11 @@ 粵拼學習 | Navigator Jyutping - - + + -
跳至主要內容

粵拼學習

AvalonC小於 1 分鐘學習

學習前必讀

關於文字及表達語言之采用

考慮到香港地區所推行的兩文三語制度,亦由於粵語之對應文字為繁體中文,因此本站僅采用繁體中文,爲便於内地學生學習,本站采用普通話表達。

關於本站所采用之拼音方案

本站所選用的是由香港語言學學會open in new window于1993年年底所推出的香港語言學學會粵語拼音方案,簡稱粵拼

相比較其他拼音方案,其優點在於:

  • 一個符號僅對應一個音,準確性好
  • 僅使用ACSII字符,便於計算機上的使用
  • 易學,大部分的字母選擇符合英語使用人士的發音直覺
  • 音位的把握較好,能夠准確的表現發音。

你的語言水平如何?

- +
跳至主要內容

粵拼學習

AvalonC小於 1 分鐘學習

學習前必讀

關於文字及表達語言之采用

考慮到香港地區所推行的兩文三語制度,其對應文字為繁體中文,因此本站僅采用繁體中文,爲便於内地學生學習,本站采用普通話表達。

關於本站所采用之拼音方案

本站所選用的是由香港語言學學會open in new window于1993年年底所推出的香港語言學學會粵語拼音方案,簡稱粵拼

相比較其他拼音方案,其優點在於:

  • 一個符號僅對應一個音,準確性好
  • 僅使用ACSII字符,便於計算機上的使用
  • 易學,大部分的字母選擇符合英語使用人士的發音直覺
  • 音位的把握較好,能夠准確的表現發音。

你的語言水平如何?

+ diff --git a/learning/jsrs.html b/learning/jsrs.html index 3110bb2..3c44873 100644 --- a/learning/jsrs.html +++ b/learning/jsrs.html @@ -30,11 +30,11 @@ 香港語言學學會粵語拼音方案 | Navigator Jyutping - - + +
跳至主要內容

香港語言學學會粵語拼音方案

AvalonC大约 5 分鐘學習

聲母表

雙脣音脣齒音齒齦音硬腭音軟腭音喉音
爆發音b [p] 巴
p [pʰ] 怕
d [t] 打
t [tʰ] 他
g [k] 家
k [kʰ] 卡
gw [kʷ] 瓜
kw [kʷʰ] 夸
塞擦音z [t͡s~t͡ʃ] 渣
c [t͡sʰ~t͡ʃʰ] 叉
鼻音m [m] 媽 n [n] 那 ng [ŋ] 牙
擦音f [f] 花 s [s] 沙 h [h] 蝦
近音w [w] 蛙 j [j] 也
邊近音l [l] 啦

提示

零聲母不用字母作標記,如「呀」只拼作 a a。

韻母表

韻腹

i [iː]
i後接 -ng, -k [e]  
yu [y]
u [uː]
u後接 -ng, -k [o]  
e後接 -i [e]
eo [ɵ]
o後接 -u [o]
e [ɛː]
oe [œː]
a [ɐ] o [ɔː]
aa [aː]

韻尾

爆發音p [p̚] t [t̚] k [k̚]
鼻音m [m] n [n] ng [ŋ]
元音i [i] 西  u [u]

鼻音單獨成韻

m [m̩] ng [ŋ̩]

韻母字例

韻腹單元音複元音鼻音韻尾爆發音韻尾(入聲韻)
--i-u-m-n-ng-p-t-k
i [iː] i 思 iu 消 im 閃 in 先 ip 攝 it 泄
[e] ing 升 ik 識
yu [yː] yu 書 yun 孫 yut 雪
u [uː] u 夫 ui 灰 un 歡 ut 闊
[o] um ung 風 upuk 福
e [e] ei 四 en
[ɛː] e 些 eu 掉 em 舐 eng 鄭 ep 夾 et 坺 ek 石
eo [ɵ] eoi 需 eon 詢 eot 摔
oe[œː]oe 鋸 oeng 疆 oetoek 腳
o [o] ou 好
[ɔː] o 可 oi 開 on 看 ong 康 ot 喝 ok 學
a[ɐ] a 嘞 ai 擠 au 周 am 斟 an 珍 ang 增 ap 汁 at 侄 ak 則
aa[aː] aa 渣 aai 齋 aau 嘲 aam 站 aan 讚 aang 掙 aap 集 aat 扎 aak 責

提示

a 和 oet 於 2018 年新增。

Ref.: 香港語言學學會粵語拼音方案-LSHKopen in new window

- + diff --git a/practice/game.html b/practice/game.html index 26b8151..ef27d1e 100644 --- a/practice/game.html +++ b/practice/game.html @@ -30,11 +30,11 @@ 游戲式練習 | Navigator Jyutping - - + +
跳至主要內容

游戲式練習

AvalonC小於 1 分鐘練習

Let's play!!

本文爲你推薦三款粵拼相關游戲,幫助你在學習之餘多加練習粵拼!

CantoRocks

CantoRocks
粵拼版打磚塊

要練到又快又準不容易喔!該游戲設置有不同的難度和關卡,無論你是初學者還是母語者,該游戲都能爲你帶來挑戰性!

游戲内包括的模式:

  • 初始練習模式(僅需打出正確的聲母)
  • 終極練習模式(僅需打出正確的韻母&韻尾)
  • 音調練習模式(僅需打出正確的音調)
  • 普通模式(打出粵拼,但無需打出聲調)
  • 終極挑戰(打出粵拼及其正確的聲調)

Zidou

Zidou
粵拼版Wordle(EZMOD)

六次機會,六個詞語,你幾次才能猜得到謎底?

六合Lukhap

Lukhap
粵拼版Wordle(HARD)

六次機會,六個詞語,不知是何聲母同韻母及韻尾組成,你又幾次才能猜得到謎底?

- + diff --git a/practice/index.html b/practice/index.html index 0b55cfb..8faa94b 100644 --- a/practice/index.html +++ b/practice/index.html @@ -30,11 +30,11 @@ 粵拼練習 | Navigator Jyutping - - + + - + diff --git a/practice/tone_difference.html b/practice/tone_difference.html index f12498f..1dc7e52 100644 --- a/practice/tone_difference.html +++ b/practice/tone_difference.html @@ -30,11 +30,11 @@ 聲調辨別 | Navigator Jyutping - - + +
跳至主要內容

聲調辨別

AvalonC大约 2 分鐘練習

下表以 si 爲示範音節,提供粵語中 6 個聲調所有兩兩組合之發音,幫助讀者區分各個聲調。

六個音節的例字分別是「si1 si2 si3 si4 si5 si6」。

粵語六調
粵語六調
- + diff --git a/research/index.html b/research/index.html index 6ee6bc2..316a499 100644 --- a/research/index.html +++ b/research/index.html @@ -30,11 +30,11 @@ 説文解字 | Navigator Jyutping - - + + - + diff --git a/research/particles.html b/research/particles.html index 48d981b..eb670ca 100644 --- a/research/particles.html +++ b/research/particles.html @@ -30,11 +30,11 @@ 粵語語氣詞 | Navigator Jyutping - - + +
跳至主要內容

粵語語氣詞

AvalonC大约 3 分鐘説文解字

粵語有非常豐富的句末語氣詞,如果與正常表達混淆,會造成很大交流障礙。

本文列舉出所有常見的粵語句末語氣詞和它們的推薦寫法,讓大家可以寫規範粵文。

方案選字原則

本用字方案對於句末語氣詞從分不從合,即儘量使用一個漢字對應一個語素。對於音節相同的字,一般將第1、3、4聲定爲獨立的語素,對於第2、5、6聲視爲變調,因而推薦使用標點符號來表示,而不再另外指定漢字。

例如推薦使用「㗎?」來代表gaa2,而不是使用「𠿪」。

對於大部分aa開音節語氣詞,本方案推薦不區分aa同a,例如laa3同la3視作同一語素。

句末語氣詞推薦用字表

説明

  • 「了」字僅讀作 liu5,不推薦作爲句末語氣詞使用。
  • 粵語中沒有「吧」呢個語氣詞,「吧」僅存在於官話書面語和普通話/國語中。
  • 「嗱」naa4 作爲句首感嘆詞,也加入表內,以表示與句末語氣詞「喇」laa4 區分。
推薦用字拼音例句備註
aa1唔該畀兩個橙我~。
aa3你去唔去睇戲~?做完功課先好出街~。
aa4噉唔通乜都唔使做~。aa5用「呀?」表示,亦可用「咓」。
𡅅aak3唔係~。
bo3你唔好唔記得~。
𠺢/咖gaa1/ga1噉先啱~嘛。「咖」作爲後備用字,首選唔推薦使用
𠿪gaa2前提係做得出先得~。
gaa3/ga3唔係噉樣~。問句中嘅gaa2用後加問號表示,例如「冇理由㗎?」。
gaa4/ga4乜原來要收畀錢~。
𠺝/嗝gaak3你平時好飲得~,點解而家咁快就醉。「嗝」作爲後備用字,首選唔推薦使用
ge3我點都唔會走~。
gwaa3應該係~。
haa2~,噉都得?記得食飯啊~。
he2呢套戲幾好睇嚱?
ho2噉就夠嘞~?
laa1/la1就噉先~。
laa3/laa41.你點講佢都唔會明㗎~。2.噉就得~?本方案用標點區分laa第3聲同第4聲,如例句1爲laa3,例句2爲laa4。
laak3/lak3/la3係嘞,你有冇帶遮?
le4我送你五萬個口罩~,好唔好啊?
le5我真係冇呃你~。
lo1噉你去~。
lo4係~,點解你自己唔去呢?
lok3/lo3都話咗係噉~。噉就弊家伙~。
嚕/𡀔lou3/lu3我做完功課~。
maa3/ma3/maa1你好~?
maa5/maa3唔係啊~?所以先話吖~。
me1佢唔係好叻嘅~?
naa4~,就喺呢度。
ne1/le1佢係做咩嘅~?
tim1我以爲你會去埋佢屋企~。又寫作「㖭」同「𠻹」,呢兩隻字僅作後備用字,首選唔推薦使用
wo3佢唔喺度~。
啝/咊wo4篇文原來係佢寫嘅~。
𡁜/唩wo5佢話佢唔去~。
za3/zaa3/zaa51.我就得翻兩文~。2.哦,就係噉~?本方案用標點區分zaa/za第3聲同第5聲,如例句1係zaa3/za3,例句2係zaa5。
za4/zaa4就得咁多~?
ze1無非都係噉嘅~。
zek1究竟發生咗咩~?

組合語氣詞示例

説明

注意組合語氣詞中的非句末字發音長度可能比正常情況下更短,例如「吖嘛」中嘅「吖」可以是 aa1 或者 a1

漢字拼音例句備註
吖嘛aa1 maa3 / a1 maa3聽日係星期日~。
啊嘛aa6 maa5 / a6 maa5唔係噉~?
哎吖吖ai1 aa1 aa1~,做乜搞成噉啊?「哎」字可爲 ai1 或 aai1,下同。
哎吔/哎吔吔ai1 jaa1/ai1 jaa1 jaa1~!豈有此理!
哎呀ai1 aa4/ai1 jaa5~,你唔係噉啊嘛?
𠺢嘛gaa1 maa3/ga1 maa3噉我唔知~!「𠺢」次選「咖」
㗎咩gaa3 me3/ ga3 me3今日唔係放假~?
㗎嘛gaa6 maa5 / ga6 maa5唔係噉~?
嘅啫ge3 ze1無非就係佢一個人~。
嘞噃la3 bo3 / lak3 bo3你好~,唔好再得寸進尺~!
吓話haa6 waa5 / ha6 waa51. 係得咁多~?

2. 「呢隻股票實升㗎!」「~?」
喇啩laa3 gwaa3 / la3 gwaa3噉應該搞掂~?
㗎喇噃ga3 la3 bo3你再唔嚟就食晒~。

Ref.: 陸鏡光, 2007, 粵語語氣詞的書寫方式, Studies in Cantonese Phonetics 2, eds. Joanna Ut-Seong and Sze-Wing Tang, 95 - 107

- + diff --git a/research/typo.html b/research/typo.html index f415d94..c08a5b8 100644 --- a/research/typo.html +++ b/research/typo.html @@ -30,11 +30,11 @@ 常見錯別字 | Navigator Jyutping - - + +
跳至主要內容

常見錯別字

AvalonC大约 5 分鐘説文解字

粵文一般使用繁體中文進行書寫,因此沒有簡化字中多字合併的問題。

多字合併

關於内地簡化字的歸併問題,請參見簡化合併字表open in new window簡化同形字表open in new window

常見錯別字表與推薦用字方案

説明

表中部分字有唔止一個建議用字,主要考慮到粵語區唔同地域用字習慣,表示呢幾種用字皆可。

粵拼常見混用寫法釋義 & 判別標準
bei2比畀俾三隻字皆讀 bei2,其中
  • 「比」義爲【比較】
  • 「畀」義爲【給予】、【被動】
  • 「俾」罕用字,一般用於譯名例如「俾斯麥」或者成語
dei2/dei6地哋兩隻字都有 dei6 讀音,其中:
  • 「哋」僅用於複數人稱代詞,例如「我哋」「佢哋」
  • 「地」可用於「地面」「地點」等,另有一發音 dei2,用喺形容詞度,例如「神神地」「傻傻地」
di1/dit1Dd 滴尐啲讀作 di1 或 dit1 ,意思係【少量】,一律寫作「啲」。其餘都係非規範寫法。
duk1篤督㞘㧻涿𡰪全部都讀 duk1,其中
  • 「㞘」指【最尾】【末端】,例如「行到㞘」。另可寫作「𡰪」
  • 「㧻」係動詞,指【刺】【戳】
  • 「涿」係量詞,指「一涿屎」「一涿尿」
  • 「督」用於「監督」、「都督」等
  • 「篤」用於「篤信」、「篤定」等
fan3瞓訓讀音均為 fan3,其中
  • 「瞓」意思係【睡眠】,例如「瞓覺」
  • 「訓」用於「訓練」「訓教」等
faan1翻返番皆有 faan1 讀音,其中
  • 「翻」義爲【越過】【攀爬】
  • 「返」義爲【返回】、【前往】【回復體標記】,例如「返工」、「整返好佢」,亦有另一讀音 faan2。
  • 「番」意思有【次數】、【西方嘅】
gam2/gam3噉咁兩字皆有【如此】嘅意思,其中
  • 「噉」讀 gam2,代詞,例如「噉樣嘅話」
  • 「咁」讀 gam3,副詞,例如「咁犀利」
gau6舊嚿䊆兩字皆讀 gau6,其中
  • 「嚿」係量詞,意思係【塊】。另有寫作「䊆」。
  • 「舊」意思係【古老】
ge3既嘅噶
  • 「嘅」讀 ge3,係屬格標記,例如「我嘅書」。
  • 「既」讀 gei3,用例「既然」
  • 「噶」讀 got3,係擬聲詞
go2/go3/gwo2嗰個果
  • 「嗰」係遠指代詞,讀 go2,例如「嗰個人」
  • 「個」讀 go3,用例「一個人」
  • 「果」讀 gwo2,用例「果實」「水果」
haa2/haa5吓下
  • 「吓」讀 haa2,僅用作語氣詞,例如「吓?係真嘎?」「係噉嘅咩吓?」
  • 「下」有兩個發音,讀 haa6 個陣表示方向,例如「下面」「下方」;讀 haa5 個陣表示次數,例如「畀我睇下」「試下先」
hai6係系喺繫
  • 「係」讀 hai6, 用作謂語
  • 「系」讀 hai6,用例「系列」
  • 「喺」讀 hai2,表示所處時間方位,意思係【位於】,用例「我喺度」
  • 「繫」讀 hai6,用例「聯繫」。
je5野嘢讀音都係 je5,其中
  • 「嘢」係名詞,指【事物】
  • 「野」係形容詞,用例「野外」
lai4/lei4/loi4來嚟黎
  • 來:讀 loi4 ,用例「將來」「未來」
  • 嚟:讀 lai4 或者 lei4,例如「過嚟」
  • 黎:讀 lai4,用於姓氏或者「黎明」等
mou4/mou5無冇兩者皆爲否定詞,其中
  • 「無」讀 mou4
  • 「冇」讀 mou5
nam2/lam3諗惗冧
  • 「諗」讀 nam2,意思係【思考】【想】。
  • 「惗」讀 nam2,係「諗」嘅異體字,唔推薦使用
  • 「冧」讀 lam3,指【倒塌】,例如「冧屋」「冧樓」
sai2使駛洗三隻字都讀 sai2,其中
  • 「使」用於「使用」,例如「使錢」「唔使客氣」;另外有 si3 嘅讀音,用於「使者」「信使」「大使館」等
  • 「駛」用於「駕駛」
  • 「洗」指【清潔】,注意「使錢」同「洗錢」同音唔同義
saai3曬晒嗮哂
  • 「曬」讀 saai3,指「曬太陽」
  • 「晒」讀 saai3,係助詞,指【全部】例如「食晒飯」
  • 「嗮」讀 saai3,一般同「晒」意思相同,但係唔推薦使用
  • 「哂」讀 can2,指【譏笑】,例如「哂笑」
zo2左唨咗讀音皆為 zo2,其中
  • 「左」指方向,例如「左手」
  • 「咗」完成體標記,例如「食咗飯」
  • 「唨」同「咗」意思相同,但係唔推薦用呢隻字
zyu3/zyu6/zoek3/zoek6著住着
  • 「著」讀 zyu3,用例「著作」「著名」
  • 「住」讀 zyu6,係助動詞,例如「袋住先」;亦有「居住」嘅意思
  • 「着」有兩個發音,讀 zoek3 嗰陣係動詞,例如「着衫」;讀 zoek6 嗰陣有兩個意思,第一個係官話入邊嘅進行體標記,例如「唱着歌」;第二個係【啓動】嘅意思,例如「着火」「着色」

ref.: Jyutpingopen in new window

- + diff --git a/resource/10weeks/index.html b/resource/10weeks/index.html index 822d796..ff7b1e7 100644 --- a/resource/10weeks/index.html +++ b/resource/10weeks/index.html @@ -30,11 +30,11 @@ 10周學粵拼 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week0.html b/resource/10weeks/week0.html index 611b982..6409de7 100644 --- a/resource/10weeks/week0.html +++ b/resource/10weeks/week0.html @@ -30,11 +30,11 @@ Week00 - Introduction | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week1.html b/resource/10weeks/week1.html index b0591b5..bc75bed 100644 --- a/resource/10weeks/week1.html +++ b/resource/10weeks/week1.html @@ -30,11 +30,11 @@ Week01 - Lesson1 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week10.html b/resource/10weeks/week10.html index 349380a..e390f25 100644 --- a/resource/10weeks/week10.html +++ b/resource/10weeks/week10.html @@ -30,11 +30,11 @@ Week10 - Lesson10 & Revision | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week2.html b/resource/10weeks/week2.html index c79f571..4c7af4b 100644 --- a/resource/10weeks/week2.html +++ b/resource/10weeks/week2.html @@ -30,11 +30,11 @@ Week02 - Lesson2 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week3.html b/resource/10weeks/week3.html index 868de83..9d29916 100644 --- a/resource/10weeks/week3.html +++ b/resource/10weeks/week3.html @@ -30,11 +30,11 @@ Week03 - Lesson3 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week4.html b/resource/10weeks/week4.html index 9d1f6e8..4daa5a8 100644 --- a/resource/10weeks/week4.html +++ b/resource/10weeks/week4.html @@ -30,11 +30,11 @@ Week04 - Lesson4 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week5.html b/resource/10weeks/week5.html index 34247fc..b7e8516 100644 --- a/resource/10weeks/week5.html +++ b/resource/10weeks/week5.html @@ -30,11 +30,11 @@ Week05 - Lesson5 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week6.html b/resource/10weeks/week6.html index e37acb5..ad04ee6 100644 --- a/resource/10weeks/week6.html +++ b/resource/10weeks/week6.html @@ -30,11 +30,11 @@ Week06 - Lesson6 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week7.html b/resource/10weeks/week7.html index e58358f..7f623e7 100644 --- a/resource/10weeks/week7.html +++ b/resource/10weeks/week7.html @@ -30,11 +30,11 @@ Week07 - Lesson7 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week8.html b/resource/10weeks/week8.html index 13262ba..a60d47f 100644 --- a/resource/10weeks/week8.html +++ b/resource/10weeks/week8.html @@ -30,11 +30,11 @@ Week08 - Lesson8 | Navigator Jyutping - - + + - + diff --git a/resource/10weeks/week9.html b/resource/10weeks/week9.html index 42d6af8..57daac6 100644 --- a/resource/10weeks/week9.html +++ b/resource/10weeks/week9.html @@ -30,11 +30,11 @@ Week09 - Lesson9 | Navigator Jyutping - - + + - + diff --git a/resource/index.html b/resource/index.html index 2ad2e8d..6a83690 100644 --- a/resource/index.html +++ b/resource/index.html @@ -30,11 +30,11 @@ 資源共享 | Navigator Jyutping - - + + - + diff --git a/resource/resource.html b/resource/resource.html index 363d223..3088664 100644 --- a/resource/resource.html +++ b/resource/resource.html @@ -30,11 +30,11 @@ 資源站點 | Navigator Jyutping - - + + - +